文档详情

最新编排编程题 建立一个单链表,实现链表元素的定位,查找,插入,删除。数据结构编程问题.doc

发布:2018-05-17约5.62千字共10页下载文档
文本预览下载声明
#include iostream using namespace std; typedef struct node { char data; struct node *next; }link; link * get(link *l, int i) { link *p;int j=0; p=l; while((ji) (p-next!=NULL)) {p=p-next;j++;} if(j==i) return p; else return NULL; } link * ins (link *l, char ch,int i) { link *p,*s; p=get(l,i-£±); if(p==NULL) coutè?“?…¥??‰èˉˉendl; else { s=(link *)malloc(sizeof(link)); s-data=ch; s-next=p-next; p-next=s; } return l; } link * find(link *l, char ch) { link *p; int i=0; int j=0; p=l; while(p!=NULL) { i++; if(p-data!=ch) p=p-next; else {cout??¨??¥?‰??????°?????¨???i-£±??a??????endl; j=£±;p=p-next; } } if(j!=£±) cout??¨??¥?‰??????°????????¨?o??€§è?¨???endl; return l; } link * del(link *l, int i) { link *p,*s; p=get(l,i-£±); if(p==NULL) coutè?“?…¥??‰èˉˉendl; else { s=p-next; p-next=s-next; free(s); } return l; } link * add(link *l ) { link *p,*s; coutèˉ·è?“?…¥??€??2????-—??|??°????????¥*??“??????endl; char ch; link *HEAD; link *R,*P,*L; HEAD=(link *)malloc(sizeof(link)); HEAD-next=NULL; R=HEAD; getchar(); ch=getchar(); while(ch!=*) { P=(link *)malloc(sizeof(link)); P-data=ch;P-next=NULL; R-next=P;R=R-next; getchar(); ch=getchar(); } L=HEAD; cout??“?‰?è?“?…¥????o??€§è?¨??o???endl; P=L;P=P-next; if(L!=NULL) do {coutP-data ; P=P-next; }while(P!=NULL); coutendl; p=l; while(p-next!=NULL) p=p-next; s=L; p-next=s-next; p=l; return l; } link * print(link *l) { int i,k; char ch; link *p,*q; cout??“?‰??o??€§è?¨??o???endl; p=l;p=p-next; if(l!=NULL) do {coutp-data ; p=p-next; }while(p!=NULL); coutendl; coutèˉ·é€‰?????¨è|?????“???????; cout £±?€???’?…?; cout £2?€???¥?‰?; cout 3?€????é??; cout 4?€?????1?; cout 0?€?退???; coutendl; cink; if(k==£±) { coutèˉ·è?“?…¥??¨è|???’?…¥?????°????€????; cinch; coutèˉ·è?“?…¥??¨è|???’?…¥????????????; cini; p=ins(l,ch,i); q=print(l); } else if(k==£2) { coutèˉ·è?“?…¥??¨è|???¥?‰??????°???
显示全部
相似文档