大话数据结构笔记
读大话数据结构的随记,自我的学习总结!
Patrick-Star
我用双手改变世界!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
4.4章:栈的顺序存储结果及实现
头文件部分#define MAX_SIZE 20#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int SElemType;typedef int Status;#define MAXSIZE 100typedef struct{ SElemType data[MAXSIZE]; int t...原创 2018-04-19 17:36:06 · 254 阅读 · 0 评论 -
4.5章:两栈共享空间
头文件部分,已经栈的结构体#define MAX_SIZE 20#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int SElemType;typedef int Status;#define MAXSIZE 100typedef struct{ SElemType data[MAXSIZE];...原创 2018-04-19 17:38:50 · 238 阅读 · 0 评论 -
第三章:线性表:单链表
头文件部分using namespace std;#define MAX_SIZE 20#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef struct Node{ ElemType data; struct Node *next;}Node;typedef struct Node *LinkLi...原创 2018-04-19 15:18:17 · 260 阅读 · 0 评论 -
查找第二种:二分查找(折半查找)丶插值查找和斐波那契查找
//二分查找(折半查找)int Bindary_Search(int *a, int n, int key) //第一版本{ int low, high, mid; low = 1; high = n; while (low <= high) { mid = low + (high - low) / 2; //折半 最重要! if (a[mid] > key)...原创 2018-03-29 16:15:02 · 590 阅读 · 0 评论 -
查找第一种:顺序查找
//顺序表查找//顺序查找, a为数组, n为数组长度, key为关键字int Sequential_Search(int *a, int n, int key){ int i; for (i = 1; i <= n; i++) //注意i从1开始,原因见下面 { if (a[i] == key) { return i; } } return 0;}int Sequentia...原创 2018-03-29 16:00:23 · 255 阅读 · 0 评论 -
排序第七章:快速排序标准版
#define MAX_SIZE 10typedef struct{ int m[MAX_SIZE ]; int length;} SqList;//用排序,铁定跑不了这个swap函数,最好自己写一个void swap(SqList *q, int i, int j);void swap(SqList *q, int i, int j){ int temp = q->m[i]; q->...原创 2018-03-27 16:02:10 · 375 阅读 · 0 评论 -
排序第六章:归并排序第二版本(迭代调用)
#define MAX_SIZE 10typedef struct{ int m[MAX_SIZE ]; int length;} SqList;//用排序,铁定跑不了这个swap函数,最好自己写一个void swap(SqList *q, int i, int j);void swap(SqList *q, int i, int j){ int temp = q->m[i]; q->...原创 2018-03-27 16:46:15 · 274 阅读 · 0 评论 -
排序第六章:归并排序(递归调用)
#define MAX_SIZE 10typedef struct{ int m[MAX_SIZE ]; int length;} SqList;//用排序,铁定跑不了这个swap函数,最好自己写一个void swap(SqList *q, int i, int j);void swap(SqList *q, int i, int j){ int temp = q->m[i]; q->...原创 2018-03-27 14:49:31 · 439 阅读 · 0 评论 -
排序第五章:堆排序
#define MAX_SIZE 10typedef struct{ int m[MAX_SIZE ]; int length;} SqList;//用排序,铁定跑不了这个swap函数,最好自己写一个void swap(SqList *q, int i, int j);void swap(SqList *q, int i, int j){ int temp = q->m[i]; q->...原创 2018-03-27 13:15:00 · 319 阅读 · 0 评论 -
排序第四章:希尔排序
#define MAX_SIZE 10typedef struct{ int m[MAX_SIZE ]; int length;} SqList;//用排序,铁定跑不了这个swap函数,最好自己写一个void swap(SqList *q, int i, int j);void swap(SqList *q, int i, int j){ int temp = q->m[i]; q->...原创 2018-03-27 10:28:09 · 340 阅读 · 0 评论 -
排序第三章:直接插入排序
#define MAX_SIZE 10typedef struct{ int m[MAX_SIZE ]; int length;} SqList;//用排序,铁定跑不了这个swap函数,最好自己写一个void swap(SqList *q, int i, int j);void swap(SqList *q, int i, int j){ int temp = q->m[i]; q->...原创 2018-03-27 09:43:17 · 282 阅读 · 0 评论 -
排序第二章:简单选择排序
#define MAX_SIZE 10typedef struct{ int m[MAX_SIZE ]; int length;} SqList;//用排序,铁定跑不了这个swap函数,最好自己写一个void swap(SqList *q, int i, int j);void swap(SqList *q, int i, int j){ int temp = q->m[i]; q->...原创 2018-03-27 09:39:45 · 382 阅读 · 0 评论 -
排序第一章:探究冒泡排序
排序算法来说,这次的博客总共写了七个排序,按照排序的简单性来看分为两类:1.简单算法: 冒泡排序, 简单选择排序, 直接插入排序2.改进算法: 希尔排序, 堆排序, 归并排序, 快速排序从平均情况来看,最后三种改进算法要胜过希尔排序, 并且远远胜过前面三种简单算法。 而根据排序排序过程中借助的主要操作, 我们将排序分为四类:插入排序类: 直接插入排序, 希尔排序选择排序...原创 2018-03-27 09:34:41 · 383 阅读 · 1 评论
分享