自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

春风来不来的博客

C/C++/Linux/数据结构

  • 博客(20)
  • 收藏
  • 关注

原创 Linux 系统管理之进程管理:目的、方法、命令

文章概要 本文主要介绍了Linux 系统管理的目的,还有常见系统信息查看的命令,ps 、pstree和top命令,还介绍了如何杀死异常进程,其方式有杀死单个进程、杀死一组进程、以及如何将用户踢出终端(杀掉终端),文末还介绍了进程优先级的概念和修改进程优先级的两个命令 nice 和 renice。一、简介 进程是正在执行的一个程序或命令,每一个进程都有自己的地址空间,并占用一定的系统资源。而

2017-07-08 15:25:20 1628

原创 Linux shell脚本的字符串截取

截取左边保留右边有变量 var=http://www.csdn.cn/a.html如果想要截取// 之前的字符即获取到 www.csdn.cn/a.html[Jack@www script]$ echo ${var}http://www.csdn.cn/a.html[Jack@www script]$ echo ${var#*//}www.csdn.cn/a.html[Jack@www sc

2017-07-30 19:40:03 669

原创 使用shell 脚本实现 希尔排序

使用shell 脚本实现 希尔排序 千万要注意数据越界,虽然不处理越界也能排序,但是略微强迫症,所以在while 中加了if判断。#!/bin/bash# 希尔排序function shell_sort(){ # 获取数组长度 size=${#a[@]} for ((gap=size/2; gap > 0; gap/=2)) do for

2017-07-30 18:19:34 630

原创 C 语言实现多态和继承

C语言模拟实现C++继承和多态提示:C 实现一个 struct A 和 stuct B 包含一个 int 成员 a 和 b,要求达到B 继承 A 的效果,也就是 B里面包含一个 A,并且能达到多态的效果,也就是一个 A* p 指向一个指向A 调的是 A 的函数,指向 B 调的是 B 的函数。

2017-07-30 11:34:09 1079

原创 解决Centos7 下中文乱码

打开配置文件sudo vim /etc/locale.conf设置语言LANG=en_US.UTF-8 # 英文 UTF-8#或者LANG=zh_CN.UTF-8 # 中文 UTF-8使配置生效source /etc/locale.conf# 或者 重新登陆终端连接

2017-07-28 21:02:49 8750

原创 sed 工具的高级用法

模式空间与保持空间sed 在正常情况下,将文本一行一行读入到模式空间(pattern space),对匹配的行执行处理后再输出,直到文件末尾。在某些时候可以使用保持空间(hold space),可以完成一些复杂操作。将模式空间理解为流水线,每经过一条数据都会进行处理。而保持空间可以看做一个仓库,可以从里面取数据到模式空间,也可以将模式空间已有数据放到保持空间。sed 高级命令g:将保持空间中的内容

2017-07-27 14:02:58 1690

原创 sed 工具基本使用方法

什么是 sedsed 是流编辑器(Stream Editor),在Shell 脚本和 Makefile 中作为过滤器使用。把一个程序的输入引入 sed 的出入,经过一些列的命令转换为另一种格式输出。sed 使用基础处理文件的来源sed 处理的文件来源有两种方式:标准输入重定向得到。比如将上一个程序的标准输出通过管道重定向到sed工具命令行参数传入。通过命令行参数可以一次传入多个文件,sed 会依

2017-07-27 10:41:34 2085

原创 链表翻转。给出一个链表和一个数K,按照分组逆置。

链表翻转。给出一个链表和一个数K,比如链表1->2->3->4->5->6->NULL,K=2,翻转后 2->1->4->3->6->5->NULL,若K=3,翻转后3->2->1->6->5->4->NULL,若K=4,翻转后4->3->2->1->5->6->NULL,用程序实现ListNode* RotateList(ListNode* list, size_t k)。递归实现/** *

2017-07-24 19:46:16 1173

原创 查找一个字符串中第一个只出现两次的字符

查找一个字符串中第一个只出现两次的字符。 比如 “abcdefabcdefabc” 中第一个只出现两次为‘d’, 要求时间复杂度O(N),空间复杂度O(1)这个题和在一个字符串中查找第一个只出现一次,只出现两次是一个套路。第一眼看到要求空间复杂度为O(1)有点蒙。突然想了一下。。字符最多256 个(前提是ASCII字符)。。不管N 有多大,也有256 限制它。所以空间复杂度依然是 O(

2017-07-19 22:12:21 1697

原创 【Linux】线程总结:线程同步 -互斥锁,条件变量,信号量实现多生产者多消费者模型

学习环境 :  Centos6.5 Linux 内核 2.6 Linux线程部分总结分为两部分:(1)线程的使用 ,(2)线程的同步与互斥。第一部分线程的使用主要介绍,线程的概念,创建线程,线程退出,以及线程的终止与分离。【完成】 地址:【Linux】线程总结:初识、创建、等待、终止、分离第二部分主要介绍在多线程环境下,使用同步与互斥保护共享资源,有互斥锁,条件变量,信号量,以及读写锁。

2017-07-19 21:23:56 3524 3

原创 判断两个链表是否相交,若相交,求交点,考虑带环情况实现代码

梳理一下思路思路相当于求俩个链表的第一个公共结点,要么找到,要么为空,那么考虑到有链表可能有带环的情况,情况共分为下面三种: (1)、两个链表都带环 分别获取两个链表环的入口点 判断入口点是否相同 如果入口点相同,临时修改链表为 Y 形状,处理完毕后恢复 如果入口点不相同,将一个环遍历一周看是否能遇到另外一个环的

2017-07-17 01:24:09 863

原创 常见 HTTP 响应状态码

状态码用来告知客户端请求的结果。客户端可以用服务端返回的状态码,判断是正常处理了请求,还是出现了错误。状态码由3位数字和原因短语组成,如:200 OK ;数字的第一位指定了响应的类别。状态码的类别 类型 含义 原因短语 1XX Informational(信息类) 接收的请求正在处理 2XX Success(成功类) 请求正常处理 3XX Redirect

2017-07-15 15:49:41 1446

原创 刷题记录---每日更新-8月7日

1.【基础题】--实现一个位图。 2.【附加题】--以下三个问题都是位图相关类似题目,请给出解决方案: 1)给定100亿个整数,设计算法找到只出现一次的整数 2)给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集 3)1个文件有100亿个int,1G内存,设计算法找到出现次数不超过2次的所有整数

2017-07-13 14:29:04 951

原创 图的邻接矩阵与邻接表存储方式及优缺点对比

概述 记录一些图的基本概念,以及图的两种表示方式(邻接表和邻接矩阵)的代码实现,最后总结了两种方式的优缺点,还简单介绍了十字链表和逆邻接表。图的部分基本概念(我记不住的)1、完全图一个无向图,任意两个顶点之间有且仅有一条边,则称为无向完全图。若一个无向完全图有 n 个顶点,那么它就有 n∗(n−1)/2n*(n-1)/2 条边。 一个有向图,任意两个顶点之间有且仅有方向相反的两条边,则称为有

2017-07-11 16:44:59 39250 3

原创 Linux系统管理之 crond 与 crontab

cron是任务的意思,tab 表示table。crontab 可以理解为,任务时间表。 crontab 命令是用来让计算机替我们执行周期性任务,比如要在每周二的凌晨五点重启服务器,每天凌晨执行一次备份任务。主要管理以分钟、小时、日、月、周,为周期来执行定期任务。守护进程 crond 为 crontab 命令提供服务。准备工作在使用命令之前,首先要确保服务已安装并启动。1、查看 crond 服务是

2017-07-09 16:19:42 8219

原创 Linux 系统管理之一次性定时任务 at 的使用

环境Centos 6.5at 一次性定时任务1、查看at服务是否安装chkconfig --list | grep atdservice atd restartservice atd status如果系统中有 /etc/at.allow 这是白名单中的用户可以使用at命令,此时黑名单会被忽略 如果没allow,/etc/at.deny 黑名单中的用户不能使用,对root 不起作用如果两个文件都不

2017-07-09 10:23:17 9959 1

原创 解决错误 libmysqlclient.so.18: cannot open shared object file: No such file or directory

我的环境是 centos6.5在连接数据库的时候发现编译可以通过,但是执行的时候提示下面的保存信息。error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory这时候需要看一下的makefi

2017-07-04 17:39:59 5389

原创 【Linux】学会 core dump 事后调试 快速定位段错误

环境: centos 6.5core dump是什么其实就是操作系统在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件。最常见的就是段错误,然后程序直接挂掉。当程序出现段错误时,不要一脸蒙蔽,有一种简单而有效的方式快速定位错误。常见 core dump 错误总结自前辈的经验:一、无效指针对空指针进行了操作对未初始化的指针进行了操作使用一个已经

2017-07-04 11:59:15 6317 1

原创 快速排序的三种实现方式以及非递归版本

一、快速排序的基本思想 快速排序利用了分治的思想,分而治之。通过一趟排序将序列分为两部分,其中一部分比较关键字小,一部分比关键字大。之后继续对这两个子序列重复此过程,直到整个序列都有序。二、快速排序的三个步骤* 选基准值*:在要排序的序列中选一个几个基准值,作为划分区间的 关键字。通常选取关键字的方式对效率有很大的影响。* 分割序列*:按照基准值把序列分为两部分,左边的小于基准值,右边的大

2017-07-02 22:30:59 16005 9

原创 获取函数运行时间的两种方法

第一种:使用 GetTickCount()函数该函数返回从系统运行到现在所经历的时间,返回类型为 DWORD,是unsigned long 的别名,单位为ms。#include <iostream>#include <windows.h>void TestFun(){ // 测试函数...}int main(){ DWORD start_time = GetTickCoun

2017-07-02 20:34:43 1879

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除