数据结构
徐煜清
这个作者很懒,什么都没留下…
展开
-
关于队列的操作理解
队列:1.如果队列的数据形式是数组,有点便于使用,尾端添加项目很简单,但从队列首端删除项目会导致问题。虽然编程实现后面元素向前移动,但是会浪费计算大量时间2.如果保持剩下的元素不动,改变队列首端的位置,会导致空出的元素的成为盲区,可用空间不断减少。1).解决盲区的一种办法是使队列成为环形,即队列的首尾相连。当到达数组末尾时,如果首元素空出,可以把新项目存放到这些空出的元素中。2).原创 2017-11-29 13:09:59 · 336 阅读 · 0 评论 -
编写单链表输入1-9 遍历打印1-9
#ifndef _INSERT_H#define _INSERT_H#define SUCCESS 100001#define FAILURE 100002#define TRUE 100003#define FALSE 100004typedef int ElemType;struct node{ ElemType da原创 2017-11-24 13:45:18 · 371 阅读 · 0 评论 -
关于数据结构链表项目框架总结
1.打印建立菜单界面2.头文件包括结构体 和链表struct A{char name[10];... .........struct A *next;};typedef struct A Btypedef B *LinkList;3.接口及子函数第一步 初始化ListInit 给结构体指针LinkList *l分配内原创 2017-11-22 16:56:28 · 300 阅读 · 0 评论 -
内存大小端转换
大端模式:数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。 小端模式:数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。大小端转换,先与再移位。(( a&0x000000ff)> 8 ) | ( ( a&0xff000000 ) >> 24 )#include int main原创 2017-11-20 16:01:36 · 595 阅读 · 0 评论 -
静态链表和动态链表
链表分为两种:动态和静态动态的结合相关函数能动态开辟内存,特点就是不会浪费内存单元;静态链表则没有这个优点。静态链表和动态链表是线性表链式存储结构的两种不同的表示方式。静态链表的初始长度一般是固定的,在做插入和删除操作时不需要移动元素,仅需修改指针。动态链表是相对于静态链表而言的,一般地,在描述线性表的链式存储结构时如果没有特别说明即默认描述的是动态链表。链表不用像数组那样原创 2017-12-05 13:12:08 · 675 阅读 · 0 评论 -
头插法和尾差法理解
线性表有两种表示方法,顺序表示和链式表示。顺序表示即就是数组,其特点为:优:(1)用数组存储数据元素,操作方法简单,容易实现 (2)无须为表示结点间的逻辑关系而增加额外的存储开销 (3)存储密度高 (4)顺序表可按元素位序随机存取结点缺:(1)做插入、删除操作时,需大量移动数据元素,效率非常低原创 2017-11-24 13:51:41 · 3129 阅读 · 0 评论 -
数据结构-链表深入剖析(带图)
一、定义:链表是线性表的链接存储表示二、分类:单向链表、静态链表、双向链表、循环链表三、特点:每个元素由数据域和指针域构成 1.结点可以连续,也可以不连续存储;//因为每个结点指针域存储了下一个结点的地址,因此地址不同,指向下个结点也都不同 2.结点的逻辑顺序与物理顺序可以不一致; //顺序不固定性 3.表的容量可以不断变大(顺序表是固定的)原创 2018-01-24 13:23:24 · 663 阅读 · 0 评论