您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页逆置单链表C语言

逆置单链表C语言

来源:飒榕旅游知识分享网
#include <stdio.h>
#include<stdlib.h>


typedef struct Lnode{
int data;
struct Lnode *next;
}lnode;


lnode *head;


lnode *create_Linklist(void){
int data;
lnode  *p;
head = (lnode *)malloc(sizeof(lnode));
head->next = NULL;
while (1){
scanf_s("%d", &data);
if (data == 32767) break;
else {
p = (lnode *)malloc(sizeof(lnode));
p->data = data;
p->next = head->next;
head->next = p;
}
}
return (head);
}//头插入法建立单链表。




void PrintfLnode(lnode *L){
lnode *p;
p = L->next;


printf("单链表的值为:");


while (p != NULL){
printf("%d  ", p->data);
p = p->next;
}
}//输出单链表


lnode* NizhiLnode(lnode *L){
lnode *head = L;
if (L == NULL || L->next == NULL){
return (head);
}
else{
lnode *p = L->next;
head=NizhiLnode(p);
p->next = L;
L->next = NULL;
return (head);
}
}//递归逆置单链表


void PrintfLnode2(lnode *L){
lnode *p;
p = L;


printf("\n");


while (p->next != NULL){
printf("%d  ", p->data);
p = p->next;
}
}


int main(){
lnode *T,*p;
printf("请输入单链表的值:");
T = create_Linklist();
PrintfLnode(T);
printf("\n逆置单链表的值:");
p=NizhiLnode(T);
PrintfLnode2(p);
return 0;

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务