#include <stdio.h>
#include <stdlib.h>
typedef struct LNode {
int data;
struct LNode* next;
}LNode;
typedef LNode *LinkList;
//尾插法创建链表
LinkList Create_List(){
LinkList L,p,r;
int x;
r=L=(LinkList)malloc(sizeof(LNode));
L->next =NULL;
scanf("%d",&x);
while(x!=0){
p=(LinkList)malloc(sizeof(LNode));
p->data =x;
p->next =NULL;r->next =p;//修改链接关系
r=p; //r指向新的尾节点
scanf("%d",&x);
}
return L;
}
//头插法新建一个链表,实现链表的倒置
LinkList Convert_List(LinkList L){
LinkList M,p,q;
p=L->next ;
M->next =NULL;
q=(LinkList)malloc(sizeof(LNode));
q=M->next ;
while(p!=NULL){
q->data =p->data ;
q->next =M->next ;
M->next =q;
p=p->next ;
}
return M;
}
void print(LinkList L){
LinkList p;
p=L->next ;
while(p!=NULL){
printf("%d ",p->data);
p=p->next;
}
printf("\n");
}
int main() {
LinkList L=Create_List();
print(L);
L=Convert_List(L);
print(L);
return 0;
}
关于#链表#的问题:单链表倒置
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- qzjhjxj 2021-09-22 16:58关注
实现链表的逆置,供参考:
/实现链表的倒置 LinkList Convert_List(LinkList L) { LinkList p, q; p = L->next; L->next = NULL; while (p != NULL) { q = p; p = p->next; q->next = L->next; L->next = q; } return L; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 为什么安装CSiBridge时出现了这个问题,尝试了很多方法都不行,求详细操作步骤?
- ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除
- ¥15 使用MATLAB进行余弦相似度计算加速
- ¥15 服务器安装php5.6版本
- ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
- ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
- ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
- ¥15 arcgis处理土地利用道路 建筑 林地分类
- ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
- ¥100 寻会做云闪付tn转h5支付链接的技术