算法与数据结构-03011345.pdf

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 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);

文档评论(0)

max + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档