如果按表尾至excel设置表头表尾的次序输入数据,应如何建立顺序表?

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
数据结构实验指导书02.doc 18页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
2.1实验目的:
(1)掌握线性表的顺序存储结构的定义及C语言实现。
掌握线性表在顺序存储结构即顺序表中的各种基本操作。
掌握线性表的链式存储结构——单链表的定义及C语言实现。掌握线性表在链式存储结构——单链表中的各种基本操作。
[实验1] 顺序表的建立
实验内容与要求:
建立含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度顺序表是线性表的顺序存储结构,是指用一组连续的内存单元依次存放线性表的数据元素。在顺序存储结构下,逻辑关系相邻的两个元素在物理位置上也相邻,这是顺序表的特点。
若一个数据元素仅占一个存储单元,则其存储方式参图1。
从图中可见,第i个数据元素的地址为:
Loc(ai)=loc(a1)+(i-1)
假设线性表中每个数据元素占用 l 个存储单元,那么在顺序表中,线性表的第i个元素的存储位置与第1个元素的存储位置的关系是:
Loc(ai) = Loc( a1)+ (i – 1)( l
这里 Loc(ai)是第 i 个元素的存储位置, Loc( a1 ) 是第1个元素的存储位置,也称为线性表的基址;显然,顺序表便于进行随机访问,故线性表的顺序存储结构即顺序表是一种随机存储的结构。
由于C语言的数组类型也有随机存取的特点,一维数组的机内表示就是顺序结构。因此,可用C语言的一维数组实现线性表的顺序存储。利用C语言的结构体类型定义顺序表:
#define LISTINCREMENT
// 线性表中存放整型元素将此结构定义放在一个头文件qList.h里,可避免在后面的参考程序中代码重复书写,另外在该头文件里给出顺序表的及常量的定义。
// 头文件 qList.h的内容如下:#include &stdio.h&
#include &malloc.h&
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
#define TRUE
#define FALSE
#define OK
#define ERROR
#define INFEASIBLE
#define OVERFLOW
typedef int ElemT
typedef int S
typedef struct{
ElemType *
Status InitList_Sq(SqList *L)
L-&elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L-&elem)
return (OVERFLOW);
L-&length=0;
L-&listsize=LIST_INIT_SIZE;
return OK;
Status CreatList_Sq(SqList *L,int n)
printf(&输入%d个整数:\n&,n);
for(i=0;i&n;i++)
scanf(&\n%d&,&L-&elem[i]);
return OK;
// 以下是整个源程序:
#include &stdio.h&
#include &SqList.h&
void main()
SqList *l=&a;
if(InitList_Sq(l)==-2)
printf(&分配失败\n&) ;
printf(&\n 输入要建立的线性表l的长度n:&);//输入线性表的长度
scanf(&%d&,&n);
l-&length=n;
printf(&线性表的长度是: %d\n&,l-&length);
CreatList_Sq(l,n);//生成线性表
printf(&输出线性表l中的元素值: &);//输出线性表中的元素
for(i=0;i&l-&i++)
printf(&%7d&,l-&elem[i]);
正在加载中,请稍后... 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
数据结构实验文档)
下载积分:3000
内容提示:数据结构实验文档)
文档格式:DOC|
浏览次数:12|
上传日期: 00:20:52|
文档星级:
全文阅读已结束,如果下载本文需要使用
 3000 积分
下载此文档
该用户还上传了这些文档
数据结构实验文档)
关注微信公众号 上传我的文档
 下载
 收藏
粉丝量:50
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
数据结构实验指导书与课程设计(201210).DOC
下载积分:2000
内容提示:数据结构实验指导书与课程设计(201210).DOC
文档格式:DOC|
浏览次数:14|
上传日期: 07:24:07|
文档星级:
全文阅读已结束,如果下载本文需要使用
 2000 积分
下载此文档
该用户还上传了这些文档
数据结构实验指导书与课程设计(201210).DOC
关注微信公众号数据结构实现顺序表的各种基本运算_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据结构实现顺序表的各种基本运算
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩3页未读,
定制HR最喜欢的简历
你可能喜欢数 据 结 构 实 验 指 导 书
实验一 线性表及其应用 一、实验目的 1.熟悉C语言的上机环境,进一步掌握C语言的结构特点。 2.掌握线性表的顺序存储结构的定义及C语言实现。 3.掌握线性表的链式存储结构――单链表的定义及C语言实现。 4.掌握线性表在顺序存储结构即顺序表中的各种基本操作。 5.掌握线性表在链式存储结构――单链表中的各种基本操作。 二、实验内容
1.顺序线性表的建立、插入及删除。
2.链式线性表的建立、插入及删除。 三、实验步骤 1.建立含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。 2.利用前面的实验先建立一个顺序表L={21,23,14,5,56,17,31},然后在第i个位置插入元素68。 3.建立一个带头结点的单链表,结点的值域为整型数据。要求将用户输入的数据按尾插入法来建立相应单链表。 四、实现提示 1.由于C语言的数组类型也有随机存取的特点,一维数组的机内表示就是顺序结构。因此,可用C语言的一维数组实现线性表的顺序存储。 在此,我们利用C语言的结构体类型定义顺序表: #define MAXSIZE
线性表中存放整型元素
*/ typedef struct { elemtype vec[MAXSIZE];
顺序表的长度
} 将此结构定义放在一个头文件sqlist.h里,可避免在后面的参考程序中代码重复书写,另外在该头文件里给出顺序表的建立及常量的定义。 2. 注意如何取到第i个元素,在插入过程中注意溢出情况以及数组的下标与位序(顺序表中元素的次序)的区别。 3.单链表的结点结构除数据域外,还含有一个指针域。用C语言描述结点结构如下:
typedef struct node
struct node * //指针域
注意结点的建立方法及构造新结点时指针的变化。构造一个结点需用到C语言的标准函数malloc(),如给指针变量p分配一个结点的地址: p=(linklist *)malloc(sizeof(linklist));该语句的功能是申请分配一个类型为linklist的结点的地址空间,并将首地址存入指针变量p 中。当结点不需要时可以用标准函数free(p)释放结点存储空间,这时p为空值(NULL)。 五、思考与提高 1. 如果按由表尾至表头的次序输入数据元素,应如何建立顺序表。 2. 在main函数里如果去掉L=&a语句,会出现什么结果? 实验二 栈和队列 一、实验目的 1. 掌握栈的顺序表示和实现 2. 掌握队列的链式表示和实现 二、实验内容 1. 编写一个程序实现顺序栈的各种基本运算。 2. 实现队列的链式表示和实现。 三、实验步骤 1. 初始化顺序栈 2. 插入元素 3. 删除栈顶元素 4. 取栈顶元素 5. 遍历顺序栈 6. 置空顺序栈 7. 初始化并建立链队列 8. 入链队列 9. 出链队列 10. 遍历链队列 四、实现提示 1. /*定义顺序栈的存储结构*/ typedef struct {
ElemType stack[MAXNUM]; }SqS
/*初始化顺序栈函数*/ void InitStack(SqStack *p)
{q=(SqStack*)malloc(sizeof(SqStack) /*申请空间*/) /*入栈函数*/ void Push(SqStack *p,ElemType x)
{if(p->top<MAXNUM-1)
{p->top=p->top+1;
/*栈顶+1*/
p->stack[p->top]=x; }
/*数据入栈*/ } /*出栈函数*/ ElemType Pop(SqStack *p) {x=p->stack[p->top]; /*将栈顶元素赋给x*/ p->top=p->top-1; } /*栈顶-1*/ /*获取栈顶元素函数*/ ElemType GetTop(SqStack *p)
{ x=p->stack[p->top];} /*遍历顺序栈函数*/ void OutStack(SqStack *p) { for(i=p->i>=0;i--) printf(\第%d个数据元素是:m\\n\/*置空顺序栈函数*/ void setEmpty(SqStack *p) { p->top= -1;} 2. /*定义链队列*/ typedef struct Qnode {
struct Qnode * }Q typedef struct {
Qnodetype *
Qnodetype * }L

我要回帖

更多关于 excel固定表头表尾 的文章

 

随机推荐