下载此文档

数据结构课件数据结构实验.doc


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
数据结构实验实验一 ,提高分析和解决问题的能力。要求仔细阅读并理解下列例题,上机通过,并观察其结果,然后独立完成后面的实****题。[问题描述]用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串。[输入]初始字符串,插入位置,插入字符,删除字符。[输出]已建立链表(字符串),插入字符后链表,删除字符后链表,逆转后链表。[存储结构]采用链式存储结构[算法的基本思想]建立链表:当读入字符不是结束符时,给结点分配存储空间,写数据域,将新结点插到表尾;插入字符:根据读入的字符在链表中找插入位置,将新结点插入到该位置之前;删除字符:根据读入的删除字符在链表中找到被删结点后,将其从链表中删除;链表逆转:从链表的第一个结点开始对所有结点处理,将每个结点的前驱变为它的后继;打印链表:从链表的第一个结点开始,依次打印各个结点的数据域。[参考源程序]#defineNULL0typedefstructnode{   chara;   structnode*link;}node,*nodelink;voidreadlink(nodelinkhead){   nodelinkp,q;   charc;   p=head;   printf("Inputalinktable(astring):");   scanf("%c",&c);   if(c=='\n')printf("Thisstringisempty。");   while(c!='\n'){      q=(nodelink)malloc(sizeof(node));      q->a=c;      p->link=q;      p=q;      scanf("%c",&c);    }   p->link=NULL;}voidwritelink(nodelinkhead){   nodelinkq;   if(head->link==NULL)printf("Thislinkisempty。\n");   for(q=head->link;q;q=q->link)      printf("%c",q->a);   printf("\n");   }int insert(nodelinkhead,chark1,chark2){   nodelinkp,q;   p=head->link;   while(p->a!=k1&&p)      p=p->link;   if(p){      q=(nodelink)malloc(sizeof(node));      q->a=k2;      q->link=p->link;      p->link=q;      return1;    }   else {      printf("Thereisno%c\n",k1);      return0;     }}int delete(nodelinkhead,chark){   nodelinkp,q;   q=head;   p=head->link;   while(((p->a)!=k)&&p){      q=q->link;      p=p->lin

数据结构课件数据结构实验 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人416612240
  • 文件大小57 KB
  • 时间2020-03-19