博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【1139】数据结构上机测试2-2:单链表操作B (逆序建表+重复元素删除)
阅读量:6261 次
发布时间:2019-06-22

本文共 1844 字,大约阅读时间需要 6 分钟。

数据结构上机测试2-2:单链表操作B

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。

输入

第一行输入元素个数n;
第二行输入n个整数。

输出

第一行输出初始链表元素个数;
第二行输出按照逆位序所建立的初始链表;
第三行输出删除重复元素后的单链表元素个数;
第四行输出删除重复元素后的单链表。

示例输入

1021 30 14 55 32 63 11 30 55 30

示例输出

1030 55 30 11 63 32 55 14 30 21730 55 11 63 32 14 21
 
 
本题删除重复元素的思路:先设置一个struct node类型的tail指针节点,让tail指向head,(一)在让q指向tail,p指向tail的下一个节点。保持tail不动,让q和p依次向下寻找,若p的数值与tail的数值相同时就删除,直到p为NULL。(二)让tail向下移动一个重复(一),直到tail的下一个节点为NULL,结束循环。
 
 
 
#include 
#include
struct node{ int data; struct node *next;};int n;struct node *creat()//逆序建表{ int i; struct node *head,*p; head=(struct node *)malloc(sizeof(struct node)); head->next=NULL; for(i=0; i
data); p->next=head->next; head->next=p; } return head;};int main(){ struct node *q,*head,*p,*tail; scanf("%d",&n); head=creat(); printf("%d\n",n); p=head->next; while(p!=NULL) { if(p->next==NULL) printf("%d\n",p->data); else printf("%d ",p->data); p=p->next; } tail=head->next; q=tail; p=tail->next; while(tail->next!=NULL)//思路体现(重复元素删除) { while(p!=NULL) { if(p->data==tail->data) { q->next=p->next; free(p); p=q->next; n--; } else { q=p; p=p->next; } } tail=tail->next; q=tail; p=tail->next; } printf("%d\n",n); p=head->next;//链表输出 while(p!=NULL) { if(p->next==NULL) printf("%d\n",p->data); else printf("%d ",p->data); p=p->next; } return 0;}

转载于:https://www.cnblogs.com/jiangyongy/p/3971606.html

你可能感兴趣的文章
LSAnimator - 易于读写的多链式动画框架
查看>>
有赞透明多级缓存解决方案(TMC)
查看>>
Kotlin:娶妻当娶贤,嫁夫则嫁能
查看>>
设计模式初探之建造者模式(Builder)
查看>>
菜鸟学网络之 —— 长连接和短连接
查看>>
DDFE 技术周刊(第十八期)2017.3.14
查看>>
安得广厦千万间,大赚天下寒士俱欢颜
查看>>
这是一份优美的信息图,吴恩达点赞的deeplearning.ai课程总结
查看>>
去中心化并不是比特币的关键和核心,真的有用才是
查看>>
0629 - 基本完成 iPaste 的 Pin 管理
查看>>
经典:头像与昵称描述的位置组合
查看>>
【CSS模块化之路2】webpack中的Local Scope
查看>>
浙江移动容器云基于 Dragonfly 的统一文件分发平台生产实践
查看>>
「每日一瞥
查看>>
java 线程池
查看>>
排序算法总结
查看>>
python模块学习(二)
查看>>
近期的爬虫工作杂谈
查看>>
机器学习之 k 近邻
查看>>
canvas核心技术-如何绘制图形
查看>>