- 博客(20)
- 收藏
- 关注
原创 Makefile
Makefile文件包含五个方面内容:1.具体规则;2.隐含规则;3.定义变量;4.指令;5.注释;示例:CC = gccTarget = helloObject = hello.o$(Target) : $(Object)(Tab字符) $(CC) $(Object) -o $(Target).PHONY : cleanclean:(Tab字符) rm *.o hello...
2018-03-27 20:25:30
124
原创 希尔排序
#include <stdio.h>void ShellSort(int array[], int length){ int i, j; int h; int temp; for (h = length / 2; h > 0; h = h / 2) { for (i = h; i < length; i++) { temp = array[i]; for (j ...
2018-03-09 13:38:42
150
原创 选择排序
#include <stdio.h>void SelectSort(int *a, int n){ int i, j; int temp = 0; int flag = 0; for (i = 0; i < n - 1; i++) { temp = a[i]; flag = i; for (j = i + 1; j < n; j++) { if (a[j] &l...
2018-03-09 13:38:06
169
原创 冒泡排序
#include <stdio.h>void BubbleSort(int array[], int len){ int i, j; int temp; for (i = 0; i < len -1; ++i) { for (j = len - 1; j > i; --j) { if (array[j] < array[j - 1]) { temp ...
2018-03-09 13:37:53
117
原创 快速排序
#include <stdio.h>void Sort(int array[], int low, int high){ int i, j; int index; if (low >= high) { return; } i = low; j = high; index = array[i]; while (i < j) { while (i < j &&...
2018-03-09 13:37:31
111
原创 堆排序
#include <stdio.h>void AdjustMinHeap(int *a, int pos, int len){ int temp; int child; for (temp = a[pos]; 2 * pos + 1 <= len; pos = child) { child = 2 * pos + 1; if (child < len &&...
2018-03-09 13:37:15
104
原创 直接插入排序
#include <stdio.h>void InsertSort(int par_array[], int array_size){ int i, j; int temp; for (i = 1; i < array_size; i++) { temp = par_array[i]; for (j = i - 1; j >= 0; j--) { if (temp...
2018-03-09 13:36:57
133
原创 归并排序
#include <stdio.h>#include <stdlib.h>void Merge(int array[], int start, int middle, int end){ int i, j, k, n1, n2; n1 = middle - start + 1; n2 = end - middle; int *L = (int...
2018-03-09 13:36:40
111
原创 基数排序
#include <stdio.h> #include <stdlib.h> int RadixCountSort(int *index, int *a, int len) //收集 { int *count = (int *)malloc(sizeof(int) * 10); int i; for (i = 0; i < len; ++i) ...
2018-03-09 13:36:23
101
原创 进程间通信预习
1. 什么是共享内存共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。2. 共享内存实现的步骤:(1)创建共享内存,使用shmget函数;(2)映射共享内存,将这段创建的共享内存映射到具体的进程空间去,使用shmat函数。3. 共享内存的创建key标识共享内存的键值: 0/IPC...
2018-02-26 19:39:24
132
原创 栈预习
1. 栈:是限定仅在表尾进行插入和删除操作的线性表;又称后进先出的线性表。LIFO结构。 栈顶top:允许插入和删除的一端;栈底bottom:另外一端;2. 栈的操作:进栈,压栈,入栈:栈的插入操作; 出栈,弹栈:栈的删除操作;栈中有一个元素时,top=0;空栈时,top=-1;3. 链式栈 栈的链式存储结构是通过由结点构成的单链表实现的,此时表头指
2018-02-07 11:02:08
356
原创 队列预习
1. 队列定义队列属于先进先出型, 队列是一种特殊的线性表,只能在前端(front)进行删除操作,只能在后端(rear)进行删除操作2. 顺序队列每次插入,指针rear加一,每次删除,指针front加一3. 循环队列初始化时,rear = front=0,当队列不为空时,front指向队列中的第一个元素,rear指向队列中最后一个元素的下一个位置,当队列满时rear=fro
2018-02-07 10:03:56
157
原创 线性表的链式存储结构
1. 链式存储 用一组任意的存储单元存储线性表中的数据元素。用这种方法存储的线性表简称线性链表。存储链表中结点的一组任意的存储单元可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。链表中结点的逻辑顺序和物理顺序不一定相同。为了正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其直接后继结点的地址,称为指针或链,这两部分组成了数据元素ai的存储映像。链表是通过每
2018-02-03 20:00:07
215
原创 顺序表
List list;头文件typedef int DataType; struct SequenceList{ DataType *data;int length;};typedef struct SequenceList List; int InitSequence(List *l);int EmptySequence(List l);int
2018-02-03 16:33:24
143
原创 数据结构预习
1. 顺序存储方式:线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。顺序存储结构封装三个属性: (1) 存储空间的起始位置。 (2) 线性表的最大存储容量。 (3) 线性表的当前长度。注意:数组的长度与线性表的当前长度不一样;数组的长度是存放线性表的存储空间的总长度,一般初始化后不变;而线性表的当前长度是线性表中元素的个数,是会变化的。
2018-02-01 20:57:28
292
原创 第6/7章预习
1. 数据存放在哪?A. bss段存放没有初始化和初始化为0的全局变量;B. data段存放初始化为非0的全局变量;C. rodata存放常量数据;D. text段存放代码和部分整数常量;E. 栈(stack)存放临时变量和函数参数;F. 堆(heap)最灵活的内存,生命周期由使用者控制。2. bss段和data段区别bss的全局变量只占运行时的内存空间,而不占用
2018-01-30 18:16:03
200
原创 指针预习
1. 指针是什么? 指针是变量,所以指针有变量的特性:a.系统为指针分配内存空间;b.指针有自己的地址;c.指针能够存值,但这个值比较特殊——地址。2. 指针的类型和指针所指向的类型指针的类型:把指针声明语句中指针名字去掉,剩下的部分即为这个指针的类型;指针所指向的类型:把指针声明语句中的指针名字和名字左边的指针声明符”*”去掉,剩下的就是指针所指向的类型。3.
2018-01-28 19:54:06
206
原创 5.1,5.2 第八章预习
1. 数组优点:(1)C语言数组下标在一个很低的层次上处理,但在程序运行时无法知道数组大小及 其下标是否有效。(2)数组出现在表达式时和指向数组中第一个指针等价(指针比使用数组下标快2倍)。数组作为参数传递给函数等价于指向数组中第一个元素的指针。数组作为参数传递给函 数时采用:值传递与地址传递。2. 字符数组的收入输出 方法:逐个字符输入输出。用格式符“%c”输入或输出一个
2018-01-26 21:33:40
174
原创 第二、三章预习问题
1. 字符是有符号整数还是无符号整数? 无符号整数2. 什么是变量 其值在其作用域内可改变的量。变量在使用前必须要定义,每个变量都有自己的地址。变量的值是变量所对应的内存区域内存放的二进制序列。变量在内存中存放和其值无关,和其类型相关。3. 局部变量和全局变量作用域:形参变量只有在函数内才有效,立开改函数就不能再使用,变量有效性的范围即作用域。局部变量:在函数内
2018-01-24 21:06:29
128
原创 Linux常用命令笔记
文件处理命令:1. mkdir 创建目录用法:mkdir [选项] 目录,若目录不存在则创建目录选项:-m:设定权限,与chmod类似-p:需要时创建上层目录-v:每次创建新目录都显示信息2. find 查找文件用法:find [路径...] [表达式]3. grep 查找字符串用法:grep[选项] 字符串选项:-c:只输出匹配行的计数
2018-01-24 15:43:09
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人