sdutacm-数据结构实验之链表三:链表的逆置
来源:互联网 发布:淘宝店铺名片上的店名 编辑:程序博客网 时间:2024/05/17 12:53
数据结构实验之链表三:链表的逆置
TimeLimit: 1000MS Memory Limit: 65536KB
SubmitStatistic
ProblemDescription
输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。
Input
输入多个整数,以-1作为结束标志。
Output
输出逆置后的单链表数据。
ExampleInput
1256 4 6 55 15 33 62 -1
ExampleOutput
6233 15 55 6 4 56 12
Hint
不得使用数组。
Author
C#include<stdio.h>#include<stdlib.h>#include<string.h>struct node{ int a; struct node *next;};struct node*creat(){ struct node *head,*p,*tail; head = (struct node*)malloc(sizeof(struct node)); head->next =NULL; for(int i=1;;i++) { p = (struct node*)malloc(sizeof(struct node)); scanf("%d",&p->a); if(p->a==-1)break; p -> next= head->next; head->next = p; } return head;}void show(struct node *head){ struct node *p; p = head->next; while(p!=NULL) { if(p->next!=NULL) { printf("%d ",p->a); } else { printf("%d\n",p->a); } p = p->next; }}int main(){ int n; struct node *head; head= creat(); show(head); return 0;}/***************************************************User name: jk160505徐红博Result: AcceptedTake time: 0msTake Memory: 116KBSubmit time: 2017-01-12 15:32:45****************************************************/C2#include<stdio.h>#include<string.h>#include<stdlib.h>struct node{ int data; struct node *next;};struct node*creat(){ struct node *tail,*p,*head; head = (struct node*)malloc(sizeof(struct node)); head->next=NULL; tail = head; while(1) { p = (struct node*)malloc(sizeof(struct node)); scanf("%d",&p->data); if(p->data==-1)break; p ->next = NULL; tail->next = p; tail = p; } return (head);}struct node*ncreat(int n){ struct node *head,*p; head = (struct node*)malloc(sizeof(struct node)); head->next = NULL; for(int i=1;i<=n;i++) { p = (struct node*)malloc(sizeof(struct node)); scanf("%d",&p->data); p->next = head->next; head->next = p; } return (head);}void show(struct node*head){ struct node *p; p =head->next; while(p) { if(p->next!=NULL) { printf("%d ",p->data); } else { printf("%d\n",p->data); } p = p->next; }}int del(struct node *head,int n){ struct node *p,*q,*t; p = head->next; while(p) { q = p; t = q->next; while(t) { if(p->data==t->data) { q->next = t->next; free(t); t = q->next; n--; } else { q = t; t = q->next; } } p = p->next; } return n;}void nizhi(struct node*head){ struct node *p,*q; p = head->next; head ->next = NULL; q = p->next; while(p) { p->next = head->next; head->next = p; p = q; if(q) { q = q->next; } }}int main(){ struct node *head; head = (struct node*)malloc(sizeof(struct node)); int n; head=creat(); nizhi(head); show(head); return 0;}/***************************************************User name: jk160505徐红博Result: AcceptedTake time: 0msTake Memory: 104KBSubmit time: 2017-01-12 20:54:25****************************************************/
0 0
- sdutacm-数据结构实验之链表三:链表的逆置
- SDUTACM 数据结构实验之链表六:有序链表的建立
- sdutacm-数据结构实验之链表四:有序链表的归并
- sdutacm-数据结构实验之链表六:有序链表的建立
- SDUTACM 数据结构实验之链表九:双向链表
- sdutacm-数据结构实验之链表一:顺序建立链表
- sdutacm-数据结构实验之链表二:逆序建立链表
- sdutacm-数据结构实验之链表九:双向链表
- SDUTACM 数据结构实验之查找三:树的种类统计
- SDUTACM 数据结构实验之链表五:单链表的拆分
- sdutacm- 数据结构实验之链表五:单链表的拆分
- sdutacm-数据结构实验之链表七:单链表中重复元素的删除
- sdutacm-数据结构实验之二叉树的建立与遍历
- sdutacm-数据结构实验之二叉树一:树的同构
- sdutacm-数据结构实验之栈八:栈的基本操作
- SDUTACM 数据结构实验之数组一:矩阵转置
- sdutacm-数据结构实验之数组一:矩阵转置
- sdutacm-数据结构实验之数组三:快速转置
- 向Z同学学习
- 互联网协议入门(一)
- 微信支付
- 数据分析入门的学习流程+路径
- jQuery自定义事件
- sdutacm-数据结构实验之链表三:链表的逆置
- android开机自启动apk
- ubuntu安装tensorflow1.0
- 编译最新版webrtc源码
- 搬家,搬到cnblog了
- ReactiveCocoa入门教程:第一部分
- Foundation of Machine Learning 笔记第二部分——Guarantees for Finite Hypothesis Sets in Consistent Case
- JFinal笔记day01
- ViewGroup与View的事件分发机制