首页 > 其他分享 >数据结构实验之链表三:链表的逆置

数据结构实验之链表三:链表的逆置

时间:2022-12-21 12:41:39浏览次数:62  
标签:LinkList head NULL int next 链表 数据结构 data 逆置


 

数据结构实验之链表三:链表的逆置

Time Limit: 1000MS Memory Limit: 65536KB

​Submit​​​ ​​Statistic​

Problem Description

输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。

Input

输入多个整数,以-1作为结束标志。

Output

输出逆置后的单链表数据。

Example Input

12 56 4 6 55 15 33 62 -1

Example Output

62 33 15 55 6 4 56 12

 

 

 

 

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef struct node
{
int data;
struct node *next;
}list;
int main()
{
list *p,*head;
head = (list *)malloc(sizeof(list));
head->next = NULL;
int n;
while(scanf("%d",&n)!=EOF)
{
if(n==-1)
{
break;
}
else
{
p = (list *)malloc(sizeof(list));
p->data = n;
p->next = head->next;
head->next = p;
}
}
p = head->next;
while(p)
{
if(p->next!=NULL)
{
printf("%d ",p->data);
}
else
{
printf("%d\n",p->data);
}
p=p->next;
}

return 0;
}

只允许蒋文文转载。

 

#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
typedef struct LNode{
int data;
struct LNode *next;
}*LinkList,LNode;
LinkList createLinkList(LinkList &head){
LNode *tail,*p;
head =tail = (LinkList)malloc(sizeof(LNode));
head->next = NULL;
tail = head;
tail->next = NULL;
int data=0;
scanf("%d",&data);
do
{
p = (LinkList)malloc(sizeof(LNode));
p->next = NULL;
p->data = data;
p->next = tail->next; //顺序不能错
tail->next = p;
scanf("%d",&data);
}while(data!=-1);
return head;

}
void display(LinkList p){
p=p->next;
while(p){
if (p->next)
{
printf("%d ",p->data);
}else{
printf("%d\n",p->data);
}
p = p->next;
}

}

int main(){
LinkList linklist = NULL;
createLinkList(linklist);
display(linklist);
return 0;
}

 

标签:LinkList,head,NULL,int,next,链表,数据结构,data,逆置
From: https://blog.51cto.com/u_12606187/5959761

相关文章

  • 数据结构实验之栈八:栈的基本操作
    数据结构实验之栈八:栈的基本操作TimeLimit:1000MSMemorylimit:65536K题目描述堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。push一个值会将......
  • 数据结构实验之求二叉树后序遍历和层次遍历
    数据结构实验之求二叉树后序遍历和层次遍历TimeLimit:1000MSMemorylimit:65536K题目描述 已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历。输入......
  • 数据结构实验之栈七:出栈序列判定
    数据结构实验之栈七:出栈序列判定TimeLimit:30MSMemorylimit:1000K题目描述给一个初始的入栈序列,其次序即为元素的入栈次序,栈顶元素可以随时出栈,每个元素只能入栈依......
  • 数据结构实验之图论六:村村通公路
                                                     数据结构实验之图论六:村村通公路TimeLimit: 1000MSMemory......
  • 索引数据结构底层(全)
    读者忠告由于本文内容篇幅较长,涵盖了大家学习上、工作上的绝大多数索引,建议大家每一小节都认真阅读并理解透彻,如有疑问可在评论区留言探讨;文章目录​​读者忠告​​​​一、......
  • 模板系列---数据结构
    P3378【模板】堆题目简述给定三个操作,求数列中最小的数,删除数列中最小的数,插入一个新的数思路板子题没什么好说,用stl自带的优先队列很好写,但手写的也要掌握。建议......
  • 面试了十几个高级前端,竟然连(扁平数据结构转Tree)都写不出来
    「本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!」前言招聘季节一般都在金三银四,或者金九银十。最近在这五六月份,陆陆续续面试了十几个高级......
  • 数据结构第一节:栈
    序:在经历了Acwing的“从入门到入土”,终于于今天进入了代码源的学习(心疼我好几百报的课阿T_T)。据y总言——”STL是提高C++编写效率的一个利器。“因此,为了提高我们编写代码......
  • C++实现单链表相关操作
    #include<iostream>#include<cstdlib>//C++动态分配存储空间usingnamespacestd;#defineOK1#defineERROR0#defineMAXSIZE100typedefintElemtype;typedefintStat......
  • 数据结构-二叉树遍历非递归
    前序遍历voidpreorder(BTNODEBT){BTNODESTACK[100];inttop=-1;STACK[++top]=BT;BTNODEp=null;while(top!=-1){BTNO......