- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
目 录
前言
顺序表
单链表
循环链表
双向链表
栈的顺序存储
栈的链式存储
队列的顺序存储
队列的链式存储
顺序串
稀疏矩阵
广义表
二叉树
链表的实战讲解 (综合以前的基础 )
本文档使用 看云 构建 - 2 -
前言
前言
原文出处 :算法与数据结构
作者 :qq
本系列文章经作者授权在看云整理发布 ,未经作者允许 ,请勿转载 !
算法与数据结构
算法句数据结构是程序的灵魂 ,你丢弃了算法也就等于抛弃了优秀程序员的称号
本文档使用 看云 构建 - 3 -
顺序表
顺序表
著名的计算机科学家N.Wirth教授曾提出一个公式 :算法+数据结构=程序
“数组”类型表示顺序存储结构 ,用指针来表示链式存储结构。指针p指向下一个对象单
元 ,p的值不是一增加1 ,而是增加对象类型所占的字节数。
一个结构提示类型student,没有定义变量 ,就不会分配存储单元 ,不能再程序中直接访问结
构体类型名。
线性表是N个具有相同特性的数据元素的有限序列。线性表分为 顺序存储结构和链式存储结
构。
顺序表 :
/*顺序表的建立与输出*//
#includestdio.h
#includemalloc.h
#includewindows.h
#define maxsize 50
typedef int elemtype;
typedef struct //定义顺序表的存储类型
{
elemtype data[maxsize];
int length;
}sqlist;
void createlist(sqlist *L,elemtype a[],int n)//建立顺序表
{
int i;
L (sqlist *)malloc(sizeof(sqlist));
for(i 0;in;i++)
L-data[i] a[i];
L-length n;
}
void displist(sqlist *L) //输出顺序表
{
int i;
for(i 0;iL-length;i++)
printf(%d ,L-data[i]);
printf(\n);
}
void listempty(sqlist *L) //判断线性表是否为空
{
int m;
m L-length;
本文档使用 看云 构建 - 4 -
顺序表
if(m ! 0)
printf(此线性表不为空\n);
else
printf(此为空线性表\n);
}
void listlength(sqlist *L) //求线性表的长度
{
int m;
m L-length;
printf(此线性表的长度为 : %d\n,m);
}
void getelem(sqlist *L) //从顺序表中取值
{
int i,e;
printf(请输入需取第几位元素 : );
scanf(%d,i);
if(i1||iL-length)
printf(输入错误 );
else
{ e L-data[i-1];
printf(取值成功第%d位元素为 :%d\n,i,e);
您可能关注的文档
最近下载
- 人教版语文课文同步写字表生字表每日打卡丨一年级(下册).pdf
- 沥滘三期污水处理厂 总平面布置图-布局1.pdf VIP
- 麦肯锡-2024年全球关键并购趋势报告(英译中).pdf
- 人教版小学古诗文汇总(1至6年级).pdf VIP
- 发展与教育心理学题库.doc VIP
- 云算力租赁合同.docx VIP
- 2023年高考数学解析几何模型 圆锥曲线中的范围与最值问题(解析版).pdf VIP
- 2023年高考数学热点解析几何模型通关圆锥曲线中的定点问题(解析版).pdf VIP
- 临近高压输电线路作业审批表.docx VIP
- 2022年内蒙古锡林郭勒正蓝旗总工会招聘社会化工会工作者考试备考试题及答案解析.docx VIP
文档评论(0)