- 博客(6)
- 收藏
- 关注
原创 栈和队列(二)
导语队列是一种只允许在一段进行插入操作,而在另一端进行删除操作的线性表。队列的特点是先进先出(FIFO),想操作系统中的作业运行就有遵循这种规则。队列的结构定义typedef struct QNode{ QElemType data; struct QNode *next;}QNode;typedef struct QNode *QuerePtr;typedef struc
2017-10-19 23:39:42 354
原创 栈和队列(一)
导语栈是只允许在一段进行插入和删除操作的线性表,其中允许进行插入删除操作的一端称为栈顶,另一端称为栈底。 栈的基本操作包括有:在栈顶进行插入删除操作、栈的初始化、判断栈是否为空、取栈顶元素、遍历栈。栈的结构定义typedef struct Stack{ sElemType data;//栈中的数据 sElemType *top;//栈顶指针 sElemType *b
2017-10-19 23:39:02 415
原创 排序——快速排序
最简单的排序方法就是冒泡排序,这也是我接触到的第一个排序方法,但是冒泡排序的时间复杂度达到了O(N^2),这样的时间复杂度在排列数目很多情况下,运算时间是非常可怕的,快速排序则大大减少了运算时间(对比冒泡排序,运算量大的情况下)。 快速排序的基本方法: 在即将排序的数字中找一个 “基准数” —— 就是一个作为参照的数字,排序过程中从初始序列的两边开始比较, 比基准数大的数字排在它的右边,比基准数小
2017-10-03 19:49:38 687
原创 排序——桶排序
假设现在有5个数字需要排序,分别是1 5 5 8 6;现在需要对这5个数字由小到大进行排序-1.首先是申请一个一维数组,这里我申请一个大小为11的数组int a[11],这样就可以对大小为0~10的数字进行排序【上面给出的5个数字中最大的是8,所以我们也可以申请一个大小为9的数组(0~8)】,在开始的时候,将数组a[0]到a[10]都初始化为0,表示为0~10的数字都还没有出现过。例如:a[0]=0
2017-10-03 19:48:11 359
原创 线性表(二)
线性表的链式存储结构 单链表单链表的存储结构tydedef struct Node{ ElemTytpe data; struct Node *next;}Node;typedef struct Node *LinkList;/*定义LinkList*/初始化顺序线性表Status InitList(LinkList *L){ *L=(LinkList)mallo
2017-10-03 19:38:33 348
原创 线性表(一)
这篇文章主要介绍有关线性表的相关知识点及操作,其中包含有顺序存储结构的线性标、链式存储结构的线性标,其中链式存储结构的线性表中还介绍了单链表、循环链表、双向链表。了解线性表在线性表的顺序存储中,线性表中的数据如果在逻辑上是相邻的,那么在物理结构上也是相邻的。区分两个概念: 数组长度:在线性表中,为了估算线性表的最大存储容量设置一个数组,数组的长度就是这个最大存储容量。线性表长度:指当前线性表
2017-10-03 19:37:21 463
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人