
【数据结构】
中華田園犬
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线性表顺序存储的优缺点
插入和删除的时间复杂度先来看最好的情况,如果元素要插入到最后一个位置,或者删除最后一个元素,此时时间复杂度为0(1),因为不需要移动元素的,就如同来了一个新人要正常排队,当然是排在最后,如果此时他又不想排了,那么他一个人离开就好了,不影响任何人。最坏的情况呢,如果元素要插入到第一个位置或者删除第一个元素,此时时间复杂度是多少呢?那就意味着要移动所有的元素向后或者向前,函数要对线性原创 2014-01-21 15:26:18 · 4909 阅读 · 0 评论 -
数据结构——单链表的头指针、头结点…
我们所说的单链表也是一种线性表,所以总得有个头有个尾。链表中第一个结点的存储位置叫做头指针,那么整个链表的存取就必须是从头指针开始进行了。之后的每一个结点,其实就是上一个的后继指针指向的位置。这里有个地方要注意,就是对头指针概念的理解,这个很重要。“链表中第一个结点的存储位置叫做头指针”,如果链表有头结点,那么头指针就是指向头结点数据域的指针。画一个图吧。这个图看起原创 2014-01-21 15:26:11 · 1934 阅读 · 0 评论 -
malloc()和free()的基本概念以及基…
对于串的顺序存储,有些需要补充说明。串值的存储空间可在程序执行过程中动态分配而得。比如在计算机中存在一个自由存储区,叫做“堆”。这个堆可由C语言的动态分配函数malloc()和free()来管理。那么今天就来点题外话,谈谈malloc()和free()malloc()和free()的基本概念以及基本用法1. 函数原型及说明:void *malloc(longNumBytes):该原创 2014-01-21 15:26:13 · 1157 阅读 · 0 评论 -
单链表结构的定义与声明
在用代码描述单链表之前,我们需要定义一个结构体来描述单链表的结点。从这个结构定义中,我们知道,结点由存放数据元素的数据域存放后继结点地址的指针域组成。假设p是指向线性表第i个元素的指针,则该结点ai的数据域我们可以用p->data来表示,p->data的值是一个数据元素,结点ai的指针域可以用p->next来表示,p->next的值是一个指针。p->next原创 2014-01-21 15:26:15 · 2184 阅读 · 0 评论 -
线性表的顺序存储结构
线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。线性表的顺序存储结构,说白了,就是在内存中找了块地方,通过占位的形式,把一定内存空间给占了,然后把相同数据类型的数据元素依次存放在这块空地中。既然线性表的毎个数据元素的类型都相同,所以可以用C语言(其他语言也相同)的一维数组来实现顺序存储结构,即把第一个数据元素存到数组下标为0的位置中,接着把线性表原创 2014-01-21 15:26:20 · 991 阅读 · 0 评论 -
单链表头指针、头结点、头元结的辨…
继续我们昨天所说的单链表。单链表也是一种线性表,所以总得有个头有个尾。链表中第一个结点的存储位置叫做头指针,那么整个链表的存取就必须是从头指针开始进行了。之后的每一个结点,其实就是上一个的后继指针指向的位置。这里有个地方要注意,就是对头指针概念的理解,这个很重要。“链表中第一个结点的存储位置叫做头指针”,如果链表有头结点,那么头指针就是指向头结点数据域的指针。画一个图吧。原创 2014-01-21 15:26:22 · 909 阅读 · 0 评论