自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 linux-文件的类型与权限

关于文件的类型与权限先看下面的一幅图: 然后我们分别来叙述类型与权限文件的七种类型‘ - ’ :管道文件‘ d ’ :目录文件‘ l ’ :软连接文件‘ c ’ :字符设备‘ b ’ :块存储设备‘ p ’ :管道文件‘ s ’ :socket文件文件的权限文件访问者的分类:文件拥有者:一般为文件的创建者,谁创建了该文件,就天然的成...

2018-08-01 22:02:07 891

原创 mysql表的操作

创建表语法 create table table_name( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 ; 查看表结...

2018-07-24 18:10:44 202

原创 mysql库的操作

mysql的启动和关闭 service mysqld start; service mysqld stop;创建数据库创建名为company1的数据库 create database company1;创建一个使用utf8字符集的company2数据库 create database company2 charset =utf8;...

2018-07-23 13:07:46 225

原创 Huffman树实现文件的压缩与解压缩

Huffman树的概念 Huffman树是由n个带权叶子节点构成的所有二叉树中带权路径长度最短的二叉树。节点的带权路径长度 树根到某一节点的路径长度与该节点的权的乘积。树的带权路径长度 树的带权路径长度为树中从根节点到所有叶子节点的各个带权路径长度之和。Huffman树的构造步骤:初始化:将给定的节点都看作根节点,构成森林。找最小树:在森林中选出两...

2018-07-15 12:04:02 2765

原创 Linux-守护进程

在介绍守护进程之前首先介绍三个概念:进程组:进程组是一个或多个进程的集合。每个进程除了有一个进程ID之外,还属于一个进程组。每个进程组有一个唯一的进程组ID。每个进程组都可以有一个组长进程,组长进程的标识是:进程组ID等于组长进程ID。只要某个进程组中有一个进程存在,该进程组就存在,与组长进程是否存在无关。...

2018-07-05 10:41:18 127

原创 const关键字(c语言)

人们对const的不精确理解: 很多人都认为被const 修饰的值是常量。这是不精确的,精确的说应该是只读的变量,其值在编译时不能被使用1.const修饰一般变量:一般常量是指简单类型的只读变量。这种只读变量在定义时,修饰符const 可以用在类型说明符前,也可以用在类型说明符后。 例如: int const i=2; 或const int i=2;2.const修饰...

2018-04-22 10:55:45 336

原创 二叉树的前、中、后序遍历(递归与非递归)

二叉树的遍历常见的二叉树的遍历有三种方式:前序遍历(根节点,左子树,右子树)                                                   中序遍历(左子树,根节点,右子树)                                                   后序遍历(左子树,右子树,根节点)每种方式都可以用递归和非递归来实现...

2018-04-12 10:37:31 7732 3

原创 二叉树的层序遍历(递归与非递归)

递归实现:计算二叉树的高度逐层打印: 例如打印二叉树的第k层,可以看作以root->_left为根节点,打印它的k-1层,然后以root->_right为根节点,打印它的k-1层,直到k==1。void _BTreeLevelOrder(BTNode* root, size_t i){ if (root == NULL || i == 0)...

2018-04-08 17:53:17 19002 6

原创 快排的非递归实现

基本思想: 用栈来模拟递归的过程部分代码如下:void QuickSortOP(DataType* a, int left, int right){ assert(a); Stack s; StackInit(&s); StackPush(&s, left); StackPush(&s, right); ...

2018-04-05 14:11:01 224

原创 快速排序(c语言)

快速排序的基本思想: 快速排序(Quicksort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比key值小,另外一部分的所有数据都比key值大,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序的整体思路:void QuickSort(DataType...

2018-04-03 18:40:29 960

原创 冒泡排序(c语言)

冒泡排序的基本思想: 从前往后两两判断并交换,把最大的交换到最后面,然后向左缩小无序区间。算法如下:void BubbleSort(DataType* a, size_t n)//冒泡排序{ assert(a); for (size_t end = n; end > 0; --end)//减小区间 { int flag = ...

2018-04-01 18:34:57 157

原创 堆排序(c语言)

堆排序的基本思想及步骤 堆排序的基本思想是:将待排序序列构造成一个大顶堆,此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个堆,这样会得到n个元素的次小值。如此反复执行,便能得到一个有序序列了构建初始堆(升序建大堆,降序建小堆) a.给定一个无序数组: b.创建一个大堆 将根节点与最后一个叶子节点进...

2018-03-29 20:31:05 10088

原创 选择排序(c语言)

选择排序: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。对选择排序的改进: 每一趟排序选出最大值和最小值 算法如下:void Swap(DataType* x1, DataType* x2){ DataT...

2018-03-27 22:29:41 282

原创 从尾到头打印单链表

解决这个问题有两种方法:1.非递归 2.递归 算法如下void SListPrintTailToHead(SListNode* pHead)//非递归{ SListNode* tail = NULL; while (pHead != tail) { SListNode* cur = pHead; whi...

2018-03-26 20:05:04 130

原创 归并排序(c语言)

归并排序示例: 把数组平均分成两半,若两个区间有序后,则进行归并。使两个区间有序和快排同样的方法一样,递归到最后只有一个值或者没有时即有序。但在归并时需要开辟一段空间把合并的数据存起来,再放回原数组。时间复杂度: N*logN算法如下:void _MergeSort(DataType* a, DataType* tmp, int le...

2018-03-25 23:21:46 869

原创 希尔排序(c语言)

希尔排序:取一个小于n的整数gap(gap又叫做步长),通过把所有距离为gap或者gap的倍数的数据放在一个组里,对每一个组进行插入排序,当每个组有序时,这整个序列就接近有序,然后减小gap,继续上面的操作,gap越小时,预排序完毕越接近有序,当gap等于1时,预排序就相当于直接插入排序。

2018-03-23 17:22:05 602

原创 插入排序(c语言)

插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。

2018-03-22 18:09:22 3479

原创 malloc、free、calloc、realloc的介绍

动态内存管理

2017-12-09 21:24:59 134

原创 将c风格的注释转换成cpp风格

首先要将文本分成四个状态: 1.普通状态(NULLSTATUS) 2.c状态(CSTATUS) 3.cpp状态(CPSTATUS) 4.EOF状态(EOFSTATUS)

2017-12-07 16:44:15 233

原创 指针1

1.指针数组   它是数组还是指针?(指针数组是数组,是一个存放指针的数组)2.数组指针  数组指针是一个指针,这个指针是具有能力指向一个数组的!  int  (*p)[10];    //p先和*结合,说明p是一个指针变量,然后指针指向的是一个大小为10个整形的数组,所以p是一个指针,指向一个数     组,叫做数组指针。  //[]的优先级要高于*,所以必须加上()来保

2017-12-01 16:30:22 152

原创 字符串函数模拟实现(strcpy,strcat,strstr,strchr,strcmp,memcpy,memmove)

1.实现strcpy#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<assert.h>char *my_strcpy(char *str1, const char *str2){ assert(str1); assert(str2); char *str3=str...

2017-11-21 22:03:33 287

原创 编写一个函数,删除一个字符串的一部分

函数的原型如下: int substr(char *str,const char *substr) 函数应该首先判断substr是否出现在str中,如果它并未出现,函数返回值为0;如果出现,函数返回值为1;str中保存删除后的字符串。

2017-11-20 21:33:27 1955 1

转载 关键字static的作用

在C语言中,关键字static有以下三个作用: (1)在一个函数内说明一个静态变量(也称内部静态变量),该类型变量在内存中占据永久性的内存单元,在函数被调用过程中维持其值不变。 (2)在一个模块内(同一文件但在函数体外)说明一个静态变量(又称外部静态变量),该类型变量同样在内存中占据永久性的存储单元,可以被模块内所有的函数访问,但不能被模块外其他函数访问。它是一个局限在一个模块内的全局变量,使数

2017-11-02 21:02:27 168

原创 不使用(a+b)/2这种方式,求两个数的平均值

为什么不使用(a+b)/2这种形式求两个数的平均值? 假如a和b都是int类型的数,两个数相加的时候可能会超过int类型所能表示的最大数,所以一般不用这种方法求两个数的平均值。 如何解决: 1.通过两个数作差来实现。 2.通过两个数位运算来实现。程序代码如下:

2017-11-01 11:26:09 254

转载 堆栈溢出的原因

堆栈溢出的原因很多,不同的语言环境可能的原因也是不同。在C语言中,产生堆栈溢出一般有以下两种情况: (1)函数调用层数太深。函数递归调用时,系统要在栈中不断保存函数调用时的现场和产生的变量,如果递归调用太深,就会造成栈溢出此时递归无法正确返回。再有,当函数调用的层次过深时也可能导致栈无法容纳这些调用的返回地址而造成栈溢出。 (2)动态申请空间之后没有释放。由于C语言中没有垃圾资源自动回收机制,因

2017-10-28 13:23:29 4623

原创 扫雷(c语言优化)

优化内容: 1>第一次下子,不炸死。 2>坐标周围没雷,可以实现展开

2017-10-27 16:41:45 377

原创 确定跳水比赛名次

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。#includeint main(){ int A,B,C,D,E; for(A=1;A<=5;A++) for(B=1;B<=5;B++)

2017-10-20 11:04:49 216

原创 用*输出各种图形

通过控制两个变量之间的关系控制输出图形

2017-10-19 21:03:48 8341 2

原创 打印杨辉三角(非直角三角形打印)

数组存储杨辉三角,输出数进行格式更改

2017-10-18 23:47:20 260

原创 输出一个整数的每一位

用数组存储每一位,然后对数组进行正序逆序输出

2017-10-17 17:50:08 215

原创 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。

先得出该数二进制的每一位,然后用数组存储,最后分出奇偶位

2017-10-16 20:38:45 177

原创 求两个数的最大公约数和最小公倍数

用辗转相除法求最大公约数,最小公倍数等于两数乘积除以最大公约数

2017-10-15 22:32:00 433

原创 写一个函数返回参数二进制中1的个数

运用移位运算符和位运算符解决

2017-10-15 00:25:19 195

原创 c语言中的移位运算符

移位运算符:                        >>  右移运算符      一丶               移位规则:左边抛弃,右边补零

2017-10-14 19:10:14 31624 2

空空如也

空空如也

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

TA关注的人

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