c语言遍历线性表
“c语言遍历线性表”相关的资料有哪些?“c语言遍历线性表”相关的范文有哪些?怎么写?下面是小编为您精心整理的“c语言遍历线性表”相关范文大全或资料大全,欢迎大家分享。
线性表的建立与遍历
线性表的建立与遍历
计算机软件辅助设计
实验报告
实验名称: 线性表的建立与遍历 实验地点: 信息学院机房 实验类别:□设计型 ■验证型 □综合型 班级:电子08-1班 学号: 姓名: 成绩: 指导教师: 谢秀兰 实验时间: 2011年12月
线性表的建立与遍历
实验一 线性表的建立与遍历
一、实验目的
进一步理解线性表的逻辑结构和存储结构,掌握线性表的建立与遍历算法 二、实验题目
线性表的建立与遍历 三、实验类型
验证性 四、实验内容
1、给定一个输入序列,建立顺序表,访问输出顺序表中各结点的内容。 2、给定一个输入序列,建立线性链表,访问输出线性链表中各结点的内容。 五、实验要求
根据实验内容,用C语言编程实现,上机调试运行得出实验结果,写出实验报告。 六、实验提示
1、线性结构中的所有结点按它们之间的关系可以排成一个线性序列: k1,k2, ,kn
其中k1是开始结点,kn是终端结点,ki是ki+1的前驱结点,而ki+1是ki的后继结点(i=1,2, ,n-1)。通常把上述线性序列称为“线性表”,把线性结构中
数据结构 线性表 顺序表 源代码C
数据结构 线性表 顺序表 源代码C,实现了新建顺序表,顺序表的插入,删除,查找。合并等功能
#define MAXSIZE 100 //MAXSIZE 为线性表可能的最大长度 #include <stdio.h>
#include <iostream.h>
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];
int length; // length为线性表的长度
} SqList;
SqList l;
//线性表定义
void InitList(SqList &L) //初始化操作,将线性表L置空
{
}
L.length = 0;//g给顺序表长度初始化为0
void CreatSqlist(SqList &L,int n) //建立一个顺序存储的线性表 {
printf("请输入节点");
int i;
for(i=0;i<n;i++)
scanf("%d",&L.data[i]);//读取元素
L.length=n;//表的长度就是元素的个数
fflush(stdin); //清
数据结构 线性表 顺序表 源代码C
数据结构 线性表 顺序表 源代码C,实现了新建顺序表,顺序表的插入,删除,查找。合并等功能
#define MAXSIZE 100 //MAXSIZE 为线性表可能的最大长度 #include <stdio.h>
#include <iostream.h>
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];
int length; // length为线性表的长度
} SqList;
SqList l;
//线性表定义
void InitList(SqList &L) //初始化操作,将线性表L置空
{
}
L.length = 0;//g给顺序表长度初始化为0
void CreatSqlist(SqList &L,int n) //建立一个顺序存储的线性表 {
printf("请输入节点");
int i;
for(i=0;i<n;i++)
scanf("%d",&L.data[i]);//读取元素
L.length=n;//表的长度就是元素的个数
fflush(stdin); //清
线性表的基本操作
第八小组实验报告
实验报告
实验类型__综合设计__ 实验室____________
一、 实验题目
线性表的基本操作
二、实验目的和要求
1) 掌握线性表的特点
2) 掌握线性表的顺序存储结构和链式存储结构的基本运算及应用。 3) 尽可能考虑算法的健壮性
4) 实验报告中要写出测试数据、错误分析以及收获。
三、需求分析
本演示程序用c++6.0编写,完成单链表和顺序表的生成,任意位置的插入、删除,以及确定某一元素在单链表中的位置。
1、输入的形式和输入值的范围:插入元素时需要输入插入的位置和元素的值;删除元素时输入删除元素的位置;查找操作时需要输入元素的值。在所有输入中,元素的值都是整数
2、输出的形式:在所有三种操作中都显示操作是否正确以及操作后单链表的内容。其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置 3、程序所能达到的功能:完成能完成两种存储结构的基本运算以及二级菜单的运用
4、测试数据
1)输入2,建立一个链表
2)插入操作中依次输入11,22,33,44,55,生成一个单链表 3)查找操作中依次输入22,44,返回这,2个元素在单链表中的位置 4)删除操作中依次输入3,删除位于3的元素
数据结构—线性表
第 2 章 线性表
课后习题讲解 1. 填空
⑴ 在顺序表中,等概率情况下,插入和删除一个元素平均需移动( )个元素,具体移动元素的个数与( )和( )有关。
【解答】表长的一半,表长,该元素在表中的位置
⑵ 顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的存储地址是( )。 【解答】108
【分析】第5个元素的存储地址=第1个元素的存储地址+(5-1)×2=108
⑶ 设单链表中指针p 指向结点A,若要删除A的后继结点(假设A存在后继结点),则需修改指针的操作为( )。
【解答】p->next=(p->next)->next
⑷ 单链表中设置头结点的作用是( )。 【解答】为了运算方便
【分析】例如在插入和删除操作时不必对表头的情况进行特殊处理。
⑸ 非空的单循环链表由头指针head指示,则其尾结点(由指针p所指)满足( )。 【解答】p->next=head 【分析】如图2-8所示。
⑹ 在由尾指针rear指示的单循环链表中,在表尾插入一个结点s的操作序列是( );删除开始结点的操作序列为( )。
【解答】s->next =rear->next; rear->next =s; rear =s; q=rear->
《线性表》练习题
第2章 线性表
一 选择题
1.下述哪一条是顺序存储结构的优点?( a )【北方交通大学 2001】 A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示
2.下面关于线性表的叙述中,错误的是哪一个?( d )【北方交通大学 2001】 A.线性表采用顺序存储,必须占用一片连续的存储单元。 B.线性表采用顺序存储,便于进行插入和删除操作。 C.线性表采用链接存储,不必占用一片连续的存储单元。 D.线性表采用链接存储,便于插入和删除操作。
3.线性表是具有n个( c )的有限序列(n>0)。 【清华大学 1998】 A.表元素 B.字符 C.数据元素 D.数据项 E.信息项 4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。【哈尔滨工业大学 2001】 A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表 5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。【南开大学 2000】 A
线性表的操作算法
数 据 结 构
实验报告
课题名称:线性表的操作算法 姓名: 班级: 学号:
一、 内容提要
1、 掌握使用cFree上机调试线性表的基本方法;
2、 分别用数组和链表作为存储结构,实现线性表的插入、删除、查找、排序、合并等操作。
二、 实验要求
1、 设计对线性表进行链式存储操作的内容; 2、 写出相应程序;
3、 保存和打印出程序的运行结果,并结合程序进行分析;
三 、实验目的
1、理解数据结构中单链表的定义和建立。 2、掌握单链表中结点结构的C语言描述。
3、熟练掌握单链表的插入、删除、查找、排序、合并等算法的设计与C语言实现。 4、将理论与实际相结合,切实提高自己的逻辑能力和动手能力。
四、算法流程图
开始
创建
《线性表》练习题
第2章 线性表
一 选择题
1.下述哪一条是顺序存储结构的优点?( a )【北方交通大学 2001】 A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示
2.下面关于线性表的叙述中,错误的是哪一个?( d )【北方交通大学 2001】 A.线性表采用顺序存储,必须占用一片连续的存储单元。 B.线性表采用顺序存储,便于进行插入和删除操作。 C.线性表采用链接存储,不必占用一片连续的存储单元。 D.线性表采用链接存储,便于插入和删除操作。
3.线性表是具有n个( c )的有限序列(n>0)。 【清华大学 1998】 A.表元素 B.字符 C.数据元素 D.数据项 E.信息项 4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。【哈尔滨工业大学 2001】 A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表 5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。【南开大学 2000】 A
第二章 线性表
第二章 线性表 一、选择题
1. 下面关于线性表的叙述错误的是( )。
A.线性表采用顺序存储必须占用一片连续的存储空间 B. 线性表采用链式存储不必占用一片连续的存储空间 C. 线性表采用链式存储便于插入和删除操作的实现 D. 线性表采用顺序存储便于插入和删除操作的实现 2. 设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为( )。
A.q=p->next;p->data=q->data;p->next=q->next;free(q); B. q=p->next;q->data=p->data;p->next=q->next;free(q); C. q=p->next;p->next=q->next;free(q); D. q=p->next;p->data=q->data;free(q);
3. 设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为( )。
A. O(n) B. O(nlog2n) C. O(1) D. O(n2)
4.设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为( )。
实验一 线性表及其应用
天津城建大学
计算机与信息工程学院
实 验 报 告
课程名称: 计算机技术基础 实验名称: 实验类型: 验证性□ 综合性□ 设计性□ 实验室名称:计算机实验教学中心xx机房 班级学号:
学生姓名: 任课教师:
成 绩: 实验日期: 2013-10-08(周二)第二节
实验一 顺序表操作与单链表操作
——线性表及其应用
一、实验目的
1、 掌握用C语言上机调试线性表的基本方法;
2、 掌握线性表的基本操作,如插入、删除、查找、线性表合并等运算在顺序存储结构和链式存储结构上的运算;并能够运用线性表基本操作解决问题,实现相应算法。 二、实验设备、软件环境 计算机,VS2005,vc++6.0 三、实验内容
1. 单链表基本操作练习(验证型实验)
1)问题描述:在主程序中设计一个简单的菜单,分别调用相应的函数功能: