C语言
kang___xi
这个作者很懒,什么都没留下…
展开
-
线性表之顺序表(一)
在这里我们将介绍线性表的顺序存储结构–顺序表。这里我们介绍两种类型的顺序表,一种是静态的顺序表,另一种是动态增长的顺序表;并使用C和C++两种语言进行描述。这里给出C语言实现的具体的代码和说明,而C++的实现只是简单贴代码,不再详细说明。一、相关概念1.顺序表的概念线性表的顺序存储结构称为顺序表(sequential list).2.特点(1)顺序表是用一段地址连续的存储单元一次存储线性表的数据元原创 2017-08-19 23:30:22 · 427 阅读 · 0 评论 -
线性表之单链表(二)--C/C++实现
从上一篇的博文中可见,线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中任一元素,它的存储位置可以用一个简单、直观的公式来表示。然而,从另一个方面来看,这个特点也铸成了这中存储结构的弱点:在进行插入和删除操作时,需要大量移动元素。这里介绍另一种线性表的表示方法—-链式存储结构,由于它不要求逻辑上相邻的元素在物理位置上也相邻,因此它没有顺序存储结构所具有的弱点原创 2017-08-22 16:40:25 · 331 阅读 · 0 评论 -
线性表之循环链表、双向链表(三)--C语言实现
一、循环链表循环链表(Circular linked list)是另一种形式的链式存储结构。它的特点是表中最后一个节点的指针域指向头结点,整个链表形成一个环。由此,从表中任一节点出发均可找到表中其他节点,如下所示为单链的循环链表: 单链的循环链表和单链表的本质一样,唯一的区别在于判断链表结束由判空改为了判断是否为头结点。下面给出具体的C语言代码实现: 头文件CList.h中给出循环链表结构体定义原创 2017-08-22 23:12:21 · 430 阅读 · 0 评论 -
数据结构之动态存储管理(C语言)
一、 概述1. 占用块占用块:已分配给用户使用的地址连续的内存区可利用空间块:未曾分配的地址连续的内存区2. 动态存储分配过程的内存状态系统运行一段时间后,有些程序的内存被释放,造成了上图(b)中的状态。假如此时又有新的程序请求分配内存,系统将如何做呢?通常有两种做法:一种策略是继续从高地址的空闲块中进行分配,而不考虑已经分配给用户的内存区是否已空闲,知道分配无法进行(即剩余的空闲块不能满足分原创 2017-09-05 10:43:13 · 2353 阅读 · 1 评论