线性表链式存储运算算法实现.docVIP

  • 3
  • 0
  • 约6.04千字
  • 约 9页
  • 2017-08-20 发布于北京
  • 举报
昆明理工大学信息工程与自动化学院学生实验报告 (2011—2012学年 第1学期) 课程名称:数据结构 开课实验室:信自楼442 2011年 11月 08日 年级、专业、班 学号 姓名 成绩 实验项目名称 线性表链式存储运算的算法实现 指导教师 教师 评语 教师签名: 年 月 日 程序功能: .线性表链式存储运算的的主要函数设置如下: 1.主程序: void main() { linkList *head=NULL; char ch; int i,key; do { ch=caiDan(); printf(%c,ch); getch(); printf(\n); switch(ch) { case 1: head=createList(); printf(\n链表被成功的创建);getch();break; case 2: display(head); if(head==NULL) { getch(); break; } else {printf(\n请输入你想插入的元素:);scanf(%d,key); printf(请输入你想插入的位置:);scanf(%d,i); insert(head,key,i);break; } case 3: display(head); if(head==NULL) { getch(); break; } else {printf(\n请输入你想删除元素的位置:);scanf(%d,i); Delete(head,i-1);break; } case 4: display(head);getch();break; case 5: exit(0); } }while(ch!=5); 2.链表的建立 linkList *createList() { int num; linkList *head,*s,*r; head=NULL; r=NULL; printf(请输入元素(输入0时停止):); scanf(%d,num); while(num!=00) { s=(linkList*)malloc(sizeof(linkList)); s-data=num; if(head==NULL) head=s; else r-next=s; r=s; printf(请输入元素(输入0时停止):); scanf(%d,num); } 3.链表的数据插入 void insert(linkList *L,dataType x,int i) { linkList *p; int j; j=i-1; p=get(L,j); if(p==NULL) { printf(插入失败!\n); getch(); } else {insertAfter(p,x);printf(\n插入成功!);getch();} } 4.链表的数据删除 void Delete(linkList *L,int i) { int j; linkList *p; j=i-1; p=get(L,j); if(p!=NULLp-next!=NULL) {deleteAfter(p);printf(\n删除成功);getch();} else { printf(删除失败\n); getch(); } } 5.链表的输出 void display(linkList *head) { int i=1; if(head==NULL) { printf(Empty List\n); } while(head!=NULL) { printf(Index[%d]

文档评论(0)

1亿VIP精品文档

相关文档