数据结构实验报告-线性表.doc

本章共13个实验题目。 一、顺序表建立_新 1、定义顺序表存储结构 2、初始化顺序表为空(InitList_Sq)3、输入顺序表数据(CreateList_Sq)4、遍历(输出)顺序表数据(TraverseList_Sq)5、销毁顺序表数据(DestroyList_Sq) 例如: 输入元素个数和数据如下: 5 5? 3? 8? 7? 9 程序输出为: 5,3,8,7,9 程序: #includeiostream #includestdlib.h using namespace std; #define OK1 #define ERROR 0 #define OVERFLOW -2 #define MAXSIZE 100 typedef int status; typedef int ElemType; typedef struct{ ElemType *elem; int length; }SqList; void InitList_Sq(SqList L){ L.elem = new ElemType[MAXSIZE]; if(!L.elem) exit(OVERFLOW); } void CreateList_Sq(SqList L){ status a; cina; L.length = a; for(int i=0;iL.length;i++) { cinL.elem[i]; } } void TraverseList_Sq(SqList L){ for(int i=0;i=L.length-1;i++){ coutL.elem[i]; if(i!=L.length-1) { cout,; } } } void DestroyList_Sq(SqList L){ if(L.elem) delete L.elem; } int main() { SqList p; InitList_Sq(p); CreateList_Sq(p); TraverseList_Sq(p); DestroyList_Sq(p); } 二、单链表的建立-前插法_新 1、定义单链表存储结构 2、初始化一个空的单链表L(InitList_L)3、用前插法创建单链表数据(CreateList_F)4、遍历(输出)单链表表数据(TraverseList_L)5、销毁单链表表数据(DestroyList_L) 例如: 输入单链表结点个数和数据如下: 5 9 7 8 3 5 程序输出为: 5,3,8,7,9 程序: #includeiostream using namespace std; typedef struct Link{ int data; struct Link *next; }*Data; void InitList_L(Data L) { L=new Link; L-next=NULL; } void CreateList_F(Data L) { Data p; int i,n; cinn; int a[n]; for(i=0;in;i++) { cina[i]; } for(i=0;in;i++) { p=new Link; p-data=a[i]; p-next=L-next; L-next=p; } } void TraverseList_L(Data L) { Data p; p=L-next; while(p) { if(p-next==NULL) { coutp-data; } else { coutp-data,; } p=p-next; } } void DestroyList_L(Data L) { Data p,q; p=L-next; while(p) { q=p-next; delete p; p=q; } L-next=NULL; } int main() { Data L; InitList_L(L); CreateList_F(L); TraverseList_L(L); DestroyList_L(L); } 三、单链表的建立-后插法_ 新 1、定义单链表存储结构2、初始化一个空的单链表L(InitList_L)3

文档评论(0)

1亿VIP精品文档

相关文档