逆转线性单链表 c语言,单链表的逆转,不会做啊
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
以前做的還找得到,呵呵,紿你貼出來了,C語言版的
#include
struct?datatype{
char?a[30];
};
struct?node{
struct?datatype?info;
struct?node?*link;
};
typedef?struct?node?*pnode;
typedef?struct?node?*linklist;
char?press_control(char?a,char?b){
char?ch='-1';
while(1){
ch=getch();
if(ch==a){return?ch;}
if(ch==b){return?ch;}
}
}
linklist?createlinklist(void){
linklist?head;pnode?p,q;
char?ch='-1';
head=NULL;
p=head;
while(1){
printf("insert?press?'1',exit?press?'2'.\n");
ch=press_control('1','2');
if(ch=='1'){
q=(pnode)malloc(sizeof(struct?node));
printf("input?data:\n");
scanf("%s",q->info.a);
p->link=q;p=q;}
else?{p->link=NULL;break;}
}
return(head);
}
void?show(linklist?head){
pnode?p;int?i;
if(head->link==NULL){printf("it's?a?null?linklist\n");return;}
p=head->link;
for(i=1;p!=NULL;i++){
printf("%s---->",p->info.a);
p=p->link;
}
printf("NULL\n");
}
linklist?f(linklist?head){
pnode?p,q;
if(head->link==NULL||head->link->link==NULL){return(head);}
else?{
p=head->link;q=p->link;p->link=NULL;
while(q!=NULL){
p=q;q=p->link;p->link=head->link;head->link=p;
}
return(head);
}
}
void?main(){
linklist?head;
clrscr();
head=createlinklist();
show(head);getch();
printf("press?any?key?to?*&*%#$$%%$^$#^^%$^#@%@#%#^\n");getch();
head=f(head);show(head);getch();
}
總結
以上是生活随笔為你收集整理的逆转线性单链表 c语言,单链表的逆转,不会做啊的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言程序设计填空带答案,c语言程序设计
- 下一篇: C语言计算月份天数if,阅读下列说明,回