一、数据结构之顺序表总结
1、定长顺序表

头文件sqlist.h

实现头文件函数的文件:sqlist.cpp




example---->实例详解:比较两个顺序表的大小。若两个表均为空表或者所有元素均相同,就返回0;若不同,当在两个顺序表相同长度内发现不同元素就返回不同元素的差值,当在两个顺序表相同长度内未发现不同元素就返回表长度的差值;

2、不定长顺序表
头文件dsqlist.h:

实现头文件函数的文件:dsqlist.cpp



二、数据结构之静态链表总结

1、定长静态链表
0号下标为有效链的头结点,1号下标为空闲链的头结点,两条链都是循环链表。
头文件slinklist.h

实现头文件函数的文件slinklist.cpp





三、数据结构之链表总结
1、单链表

头文件:list.h

实现头文件函数的文件:list.cpp







2、循环链表

头文件clist.h(函数同单链表),结点定义如下:

实现头文件函数的文件clist.cpp:


2、带头双向非循环链表

头文件dlist.h(函数同单链表),结点定义如下:

实现头文件函数的文件dlist.cpp:




4、链表利用实例
Question:利用带头结点的单链表保存一元多项式,按指数升序排列;

头文件poly.h:

实现头文件函数的文件:poly.cpp




5、不带头结点的单链表的实现
头文件如下:

实现头文件函数的文件:





四、数据结构之栈总结
栈的特点是先进后出
1、定长顺序栈
头文件stack.h

实现头文件函数的文件stack.cpp


2、链式栈(带头结点的单链表存储,链头端为栈顶)
头文件lstack.h:

实现头文件函数的文件:



五、数据结构之队列总结
队列的特点是先进先出,队列可以分为线性队列和环形队列,由于线性队列入队时间复杂度是O(1),而出队时间复杂度达到了O(n);所以选用了入队和出队都为O(1)的环形队列。
1、定长环形顺序队列

头文件queue.h:

实现头文件函数的文件queue.cpp:



2、链式队列

头文件lqueue.h:

实现头文件函数的文件lqueue.cpp:



3、链式优先级有序队列
入队时间复杂度O(n),出队O(1),即优先级高的先出

头文件priqueue.h:

实现头文件函数的文件priqueue.cpp:


4、双端队列
输入受限的双端队列:输入只可从一端,输出可以从两端
输出受限的双端队列:输出只可从一端,输入可以从两端
六、数据结构之串总结
1、不定长顺序表串

头文件str.h:

实现头文件的函数的文件str.cpp







--------------------end &
网友评论