数据结构
fly__chen
勿忘初心,别让写博客失去它该有的意义。
展开
-
不带表头节点的单链表编程(1)
链表n个节点链接成链表,即线性表。单链表若链表的每个结点中只包含一个指针域,该链表称为线性链表或单链表。节点结构体typedef char ListData;typedef struct node //链表结点{ ListData data; //结点数据域 struct node * link; //结原创 2016-11-01 19:17:46 · 1739 阅读 · 0 评论 -
选择排序 - 算法
选择排序的基本思想是以数组arr[n]为例,每一趟(假设目前为第i趟)在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的值作为有序序列中第i个值。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。选择排序的过程分析第1趟,在待排序记录arr[1]~arr[n-1]中选出最小的记录,将它与r[0]交换; 第2趟,在待排序记录r[2]~r[n-1]中选出最小的记录,将它与r[1]交换原创 2016-10-25 09:40:38 · 365 阅读 · 0 评论 -
链表编程笔记
//例:已知集合A和B的元素分别用不含头结点的单链表存储,函数difference( )用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集合B={5,15,35,25},完成计算后A={10,20,30}。typedef struct node{ int elem; struct node*next;}*Lnode;原创 2016-11-02 13:57:22 · 251 阅读 · 0 评论 -
线性表
线性表线性表(linear list)是最常用且最简单的一种数据结构。一个线性表是n个数据元素的有限序列。若将线性表记为: (a1, … ,ai-1, ai, ai+1, … ,an) 则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素;ai+1是ai的直接后继元素。线性表中元素的个数n(n≥0)定义为线性表的长度,n=0时称为空表。在非空表中的每一个数据元素都有一个确原创 2016-11-01 19:14:02 · 405 阅读 · 0 评论 -
队列(Queuce)的编程实现
队列的编程实现原创 2016-11-08 16:49:12 · 780 阅读 · 0 评论 -
栈(Stack)的编程实现
栈的代码实现原创 2016-11-08 16:12:47 · 417 阅读 · 0 评论 -
带表头节点的双向循环链表编程
实现带表头节点的双向链表的 头插,尾插,中间插,倒序,释放原创 2016-11-08 10:39:59 · 3316 阅读 · 0 评论 -
带表头节点的单向循环链表编程
带表头节点的循环链表编程原创 2016-11-08 09:43:47 · 4503 阅读 · 1 评论 -
带表头节点的单链表编程
带表头节点的单链表编程原创 2016-11-08 09:50:59 · 1964 阅读 · 0 评论 -
不带表头节点的单链表编程(2)
1. 随机创建新节点,实现从小到大的顺序排序 2. 将链表逆序原创 2016-11-07 19:33:44 · 874 阅读 · 0 评论 -
快速排序 - 算法
快速排序算法原创 2016-10-20 11:49:01 · 397 阅读 · 0 评论