实验一 线性表的应用—顺序表操作
一、目的和要求
1.熟悉并掌握线性表的逻辑结构定义、特点。 2.熟悉并掌握顺序表描述方法。
3.熟悉并掌握顺序表的基本操作,包括顺序表的建立与打印,插入与删除数据元素,查找数据元素等。
二、实验内容
(详细说明顺序表操作的各个函数头的说明)
三、实验环境
1.硬件:PC机。 2.软件:DOS 、Windows9.x 、Window2000或以上版本,TurboC 2.0 及以上版本或VC6.0。
四、源程序 #define N 100 #include float score[N]; int length; }SeqList; //创建顺序表函数 void CreatSList(SeqList *p) { int n,i; scanf(\"%d\ if(n<0||n>=N) printf(\"表长输入错误\\n\"); else { for(i=0;i p->length=n; } } //输出顺序表函数 void PrintSList(SeqList *p) { int i; if(p->length>0) { printf(\"该顺序表为:\\n\"); for(i=0;i } } //在顺序表中插入元素函数 void InsertSList(SeqList *p , int i, float x) { int j; if(p->length==N) { printf(\"表满\\n\"); } if(i<0||i>p->length+1) { printf(\"插入位置错误\\n\"); } else p->score[i-1]=x; p->length++; for(j=p->length;j>=i;j--) p->score[j]=p->score[j-1]; PrintSList(p); } //在顺序表中删除元素函数 void DeleteSList(SeqList *p) { int i,j; printf(\"输入所要删除元素的位置\"); scanf(\"%d\ if(i<0||i>p->length) printf(\"删除位置非法\"); else { for(j=i;j p->length--; } PrintSList(p); } void main() { int i; float x; SeqList *p; p=(SeqList*)malloc(sizeof(SeqList)); CreatSList(p); PrintSList(p); printf(\"输入所要插入的位置\"); scanf(\"%d\ printf(\"输入所要插入的元素\"); scanf(\"%f\ InsertSList(p,i,x); DeleteSList(p); } 课本2.5 (1) n3 (2)n (3)n2 (4)n2 (5)无穷大 课本2.7 (1)、(4)、(5)非线性 (2)、(3)线性 课件 第二章 第一节 线性表 4.在一个单链表中p所指结点之前插入一个由指针s所指结点,可执行以下操作: s->next= p->next ; p->next=s; t=p->data; p->data= s->data ; s->data= t ; 5.在顺序表中做插入操作时首先检查 栈是否满了 。 因篇幅问题不能全部显示,请点此查看更多更全内容