欢迎来到天天文库
浏览记录
ID:15624576
大小:51.50 KB
页数:5页
时间:2018-08-04
《单链表的各种基本运算的实现 实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件技术基础实验一——单链表的各种基本运算的实现一、实验题目编写一个程序,实现单链表的各种基本运算,并在此基础上设计一个主程序完成如下功能:(1)初始化单链表(2)依次采用尾插法插入a,b,c,d,e元素(3)输出单链表(4)在第四个元素位置上插入f元素(5)删除该单链表的第三个元素二、实验目的1、理解单链表的概念及结构特点;2、掌握单链表的基本操作:查找、插入、删除等运算在链接存储结构上的运算。三、调试通过并正确执行给定功能要求的实验代码#include"stdafx.h"#include#include2、stream.h>structlink{chardata;link*next;};link*rcreat(link*head,charx)//尾插法建立单链表{link*s,*r;r=head;s=newlink;s->data=x;r->next=s;r=s;r->next=NULL;returnr;}link*get(link*head,inti)//查找第i个元素,返回其地址{intj;link*p;j=1;p=head->next;while((jnext;}return3、p;}voidinsert(link*head,intnum,chary)//元素y之后插入x{link*p,*s;s=newlink;s->data=y;if(head->next==NULL){head->next=s;s->next=NULL;}p=get(head,num);if(p==NULL)cout<<"插入位置非法";else{s->next=p->next;p->next=s;}}voiddelet(link*head,charx)//将指定元素x删除{link*p,*q;q=head;p=head->next;w4、hile((p!=NULL)&&(p->data!=x)){q=p;p=p->next;}if(p==NULL)cout<<"要删除的元素不存在";else{q->next=p->next;delete(p);}}voidprint(link*head)//输出单链表{link*p;p=head->next;while(p->next!=NULL){cout<data<<"->";p=p->next;}cout<data<5、p,*q,*r;charx,y;intn,dele,i=1,j=1;head=newlink;head->next=NULL;r=head;while(j<=5){cout<<"请输入要插入的元素:";cin>>x;r=rcreat(r,x);j=j+1;}print(head);cout<<"请输入要插入元素的位置:";cin>>n;cout<<"请输入要插入的元素:";cin>>y;insert(head,n,y);cout<<"输出插入后的单链表:"<6、;cin>>dele;q=head;p=head->next;while(inext;i=i+1;}q->next=p->next;delete(p);cout<<"删除后的链表如下:"<
2、stream.h>structlink{chardata;link*next;};link*rcreat(link*head,charx)//尾插法建立单链表{link*s,*r;r=head;s=newlink;s->data=x;r->next=s;r=s;r->next=NULL;returnr;}link*get(link*head,inti)//查找第i个元素,返回其地址{intj;link*p;j=1;p=head->next;while((jnext;}return
3、p;}voidinsert(link*head,intnum,chary)//元素y之后插入x{link*p,*s;s=newlink;s->data=y;if(head->next==NULL){head->next=s;s->next=NULL;}p=get(head,num);if(p==NULL)cout<<"插入位置非法";else{s->next=p->next;p->next=s;}}voiddelet(link*head,charx)//将指定元素x删除{link*p,*q;q=head;p=head->next;w
4、hile((p!=NULL)&&(p->data!=x)){q=p;p=p->next;}if(p==NULL)cout<<"要删除的元素不存在";else{q->next=p->next;delete(p);}}voidprint(link*head)//输出单链表{link*p;p=head->next;while(p->next!=NULL){cout<data<<"->";p=p->next;}cout<data<5、p,*q,*r;charx,y;intn,dele,i=1,j=1;head=newlink;head->next=NULL;r=head;while(j<=5){cout<<"请输入要插入的元素:";cin>>x;r=rcreat(r,x);j=j+1;}print(head);cout<<"请输入要插入元素的位置:";cin>>n;cout<<"请输入要插入的元素:";cin>>y;insert(head,n,y);cout<<"输出插入后的单链表:"<6、;cin>>dele;q=head;p=head->next;while(inext;i=i+1;}q->next=p->next;delete(p);cout<<"删除后的链表如下:"<
5、p,*q,*r;charx,y;intn,dele,i=1,j=1;head=newlink;head->next=NULL;r=head;while(j<=5){cout<<"请输入要插入的元素:";cin>>x;r=rcreat(r,x);j=j+1;}print(head);cout<<"请输入要插入元素的位置:";cin>>n;cout<<"请输入要插入的元素:";cin>>y;insert(head,n,y);cout<<"输出插入后的单链表:"<6、;cin>>dele;q=head;p=head->next;while(inext;i=i+1;}q->next=p->next;delete(p);cout<<"删除后的链表如下:"<
6、;cin>>dele;q=head;p=head->next;while(inext;i=i+1;}q->next=p->next;delete(p);cout<<"删除后的链表如下:"<
此文档下载收益归作者所有