C语言-数据结构(一)
2015-07-15 11:23
501 查看
1.动态创建多维数组
1.线性表
特点: 1)存在唯一的一个被称为第一个的数据元素 2)存在唯一的一个被称为最后一个的数据元素 3)除第一个外, 集合中的每个数据元素均只有一个前驱 4)出最后一个外, 集合中的每个数据元素只有一个后继
表示方法: 1)顺序表示 2)链式表示
1.冒泡排序
2.二分查找
递归版本
3.
int ** createArray(int rows, int cols) { int **x, i; x = (int **)malloc(rows * sizeof(*x)); for (i = 0; i < rows; i++) { x[i] = (int *)malloc(cols * sizeof(**x)) } return x; }
1.线性表
特点: 1)存在唯一的一个被称为第一个的数据元素 2)存在唯一的一个被称为最后一个的数据元素 3)除第一个外, 集合中的每个数据元素均只有一个前驱 4)出最后一个外, 集合中的每个数据元素只有一个后继
表示方法: 1)顺序表示 2)链式表示
1.冒泡排序
void sort(int list[], int n) { int i, j, temp; for (i = 0; i < n - 1; i++) { for (j = i; j < n; j++) { if (list[i] < list[j]) { temp = list[i]; list[i] = list[j]; list[j] = temp; } } } }
2.二分查找
int binsearch(int *list, int search, int num) { int middle; int left = 0; int right = num - 1; while (left <= right) { middle = (left + right) / 2; if (list[middle] > search) { right = middle - 1; } else if (list[middle] == search) { return middle; } else { left = middle + 1; } } return -1; }
递归版本
int binsearch(int *list, int search, int left, int right) { int middle; if (left <= right) { middle = (left + right) / 2; if (list[middle] > search) { return binsearch(list, search, left, middle - 1); } else if (list[middle] == search) { return middle; } else { return binsearch(list, search, middle + 1, right); } } return -1; }
3.
相关文章推荐
- 数据结构-图
- 数据结构之---C语言实现图的数组(邻接矩阵)存储表示
- 数据结构之---C语言实现图的邻接表存储表示
- PAT 数据结构 09-散列3. Hashing - Hard Version (30) 拓扑排序
- 从淘宝数据结构来看电子商务中商品属性设计
- 算法的时间复杂度
- 数据结构基础 图的遍历(三) 之 BFS+DFS(非递归实现)
- oracle数据结构sql语句
- PAT 数据结构 09-散列2. QQ帐户的申请与登陆(25)
- 【数据结构】位运算
- PAT 数据结构 09-散列1. Hashing (25)
- 独立实验室的大型数据结构设想
- PAT 数据结构 08-排序6. PAT Judge (25)
- 仿真算法数据结构与算法 C++实现
- BZOJ4154——IPSC2015 Generating Synergy
- PAT 数据结构 08-排序5. Sort with Swap(0,*) (25)
- 离散数学偏序关系哈斯图上(下)确界极小(大)值最大(小)值
- 系统时间接口与数据结构
- [数据结构]树状数组
- Redis各种数据结构内存占用测试