2122 数据结构实验之链表七:单链表中重复元素的删除_2122数据结构式-程序员宅基地

技术标签: # 顺序表和链表  单链表  链表  存储  数据结构  

数据结构实验之链表七:单链表中重复元素的删除

Time Limit: 1000MS Memory Limit: 65536KB
Problem Description

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

Input

第一行输入元素个数 n (1 <= n <= 15);
第二行输入 n 个整数,保证在 int 范围内。

Output

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

Example Input
10
21 30 14 55 32 63 11 30 55 30
Example Output
10
30 55 30 11 63 32 55 14 30 21
7
30 55 11 63 32 14 21
Hint
不得使用数组! 
#include <bits/stdc++.h>

using namespace std;

typedef struct node
{
    int date;
    struct node *next;
}Lnode;

Lnode *creat(int n)    //建表 输入
{
    Lnode *head, *p;
    head = new node;
    head -> next = NULL;
    while(n--)
    {
        p = new node;
        p ->next = NULL;
        cin >> p->date;
        p ->next = head ->next;
        head ->next = p;
    }
    return head;
}

Lnode *del(Lnode *head, int n )  // 删除重复元素
{
    Lnode *p, *q, *r;
    p=head->next;
    q=p;
    while(p)
    {
        while(q->next)
        {
            if(p->date==q->next->date)//用q->next方便删除重复元素
            {
                r=q->next;
                q->next=r->next;
                free(r);
                n--;
            }
            else
            {
                q=q->next;
            }
        }
        p=p->next;
        q=p;
    }
    cout << n <<endl;    //输出删除后的总元素和
    return head;
}

void output(Lnode *head)    //输出当前表内元素
{
    Lnode *q;
    cout << head -> next ->date;
    q = head ->next;
    while(q->next)
    {
        cout << " " << q ->next ->date;
        q = q->next;
    }
    cout << endl;
}

int main()
{
    Lnode *head;
    int n;
    cin >> n;
    head = creat(n);    //建表
    cout << n << endl;  //总元素和
    output(head);       //第一次输出当前元素
    head = del(head,n); //删除重复元素
    output(head);       //输出删除后元素
    return 0;
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Liangren_/article/details/78138467

智能推荐

ASP.NET Core 运行原理解剖[5]:Authentication-程序员宅基地

文章浏览阅读3.1k次。在现代应用程序中,认证已不再是简单的将用户凭证保存在浏览器中,而要适应多种场景,如App,WebAPI,第三方登录等等。在 ASP.NET 4.x 时代的Windows认证和Forms认证已无法满足现代化的需求,因此在ASP.NET Core 中对认证及授权进行了全新设计,使其更加灵活,可以应付各种场景。在上一章中,我们提到HttpContext中认证相关的功能放在了独立的模块中,以扩展的方式来展_.net core authenticationhandler httpcontext

java8特性:list转Map并排序_list转成map且顺序不变-程序员宅基地

文章浏览阅读1.5w次。初始代码public Map&amp;lt;String,List&amp;lt;RgwstBean&amp;gt;&amp;gt; getMap(List&amp;lt;RgwstBean&amp;gt; lists){ Map&amp;lt;String,List&amp;lt;RgwstBean&amp;gt;&amp;gt; map = new TreeMap&amp;lt;String,List&am_list转成map且顺序不变

leaflet通过WFS服务加载geoserver 矢量数据_leaflet geoserver wfs 方式-程序员宅基地

文章浏览阅读5.9k次,点赞5次,收藏16次。leaflet通过WFS服务加载geoserver 矢量数据1.前言2.从geoserver获得geojson数据3.geoserver跨域配置4.根据请求结果生成layer5.完整代码1.前言leaflet默认支持的服务只有WMS,因此不能加载WFS数据,但是leaflet提供了另一个方法geoJson,它的作用是从一个geojson文件中加载地图,所以利用leaflet加载WFS数据的一个..._leaflet geoserver wfs 方式

自定义动画animate_使用animate方法制作任意动画是什么意思-程序员宅基地

文章浏览阅读937次。开发工具与关键技术:VS,MVC作者:陈梅撰写时间:2019年6月2 日所有代码来源与老师教学这次分享一个好玩的自定义动画效果,这次还是用jQuery做出来的小功能。这次我们先直接看最后已经布局好的效果。把所想写的内容填写到p标签中,给到p标签的动画功能是,页面已执行时,p标签的内容就会渐渐消失。在给一个紫色的div盒子,这个盒子要实现四种动画效果,所以给这四个动画效果一个下拉框,选择..._使用animate方法制作任意动画是什么意思

如何在MonogoDB中查看配置的参数值-程序员宅基地

文章浏览阅读1k次。怎样在MongoDB实现mysql show variables like 'xx';例如:1.查看所有参数值:C:\Users\duansf>mongoMongoDB shell version: 2.6..._查看mongodb 默认参数值

【ACO TSP】基于matlab蚁群算法求解旅行商问题【含Matlab源码 1583期】-程序员宅基地

文章浏览阅读863次。蚁群算法求解旅行商问题完整的代码,方可运行;可提供运行操作视频!适合小白!

随便推点

access查找出生日期年份_access怎样利用出生日期计算年龄呀!-程序员宅基地

文章浏览阅读7.1k次。公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解。话题:access怎样利用出生日期计算年龄呀!回答:lt;%set rs = server.createobject("adodb.recordset") curid=request("id") sql = "UPDATE pany SET a_num=a_num+1,day_count=day_count+1 WHERE day_lda..._access出生年份表达式

python 内置函数-程序员宅基地

文章浏览阅读75次。Python内置函数(1)——absPython内置函数(2)——divmodPython内置函数(3)——maxPython内置函数(4)——minPython内置函数(5)——powPython内置函数(6)——roundPython内置函数(7)——sumPython内置函数(8)——bool...

希望OL修改服务器经验,希望OL服务端架设技术教程-程序员宅基地

文章浏览阅读2.8k次。经测试自带的MYSQL可能有问题,也可能没问题。如果有问题请下载安装MYSQL5.0然后导入端里面自带的guaiwu.sql希望ol教程=========================================客户端SO3D.exe需要改IP 我这里是在服务器上录像的,我把客户端的SO3D.exe复制到服务端这里了具体更改用UE搜索MessgerIp 在附近找到他的ip 改成你自己的,我这..._希望ol 服务器架设

python爬虫系列之爬取百度文库(二)_python百度文库爬虫-程序员宅基地

文章浏览阅读7.9k次,点赞4次,收藏27次。在上一篇文章中我们已经介绍了selenium,以及如何去安装selenium,这一章我们首先介绍一下一个网页的结构,以及如何去爬取和解析一个网页。网页组成结构介绍一个网页主要由导航栏、栏目、以及正文这三个部分组成,而一般我们所说的爬虫,主要是针对正文来提取对于我们有价值的消息。正文其实就是一个HTML格式的文件,我们主要是通过分析HTML的组成元素来提取信息。下面我介绍一下,两种分析HTM_python百度文库爬虫

计算机网络实验报告建立校园网,计算机网络实验报告-程序员宅基地

文章浏览阅读2.6k次,点赞2次,收藏29次。设计性实验报告一、实验目的通过对网络设备的连通和对拓扑的分析,加深对常见典型局域网拓扑的理解;通过路由建立起网络之间的连接,熟悉交换机、路由器的基本操作命令,了解网络路由的设计与配置。二、背景描述假设某校园网通过1台三层交换机连到校园网出口路由器,路由器再和校园外的另一台路由器相接,现做适当配置,实现校园网内部主机与校园网外部主机的相互通信。三、实验设备二层交换机五台、三层交换机一台,路由器两台,..._计算机网络校园网组建 实训报告

蓝桥杯之等差素数列_长度为十的等差素数列,公差最小是多少蓝桥杯-程序员宅基地

文章浏览阅读554次,点赞2次,收藏3次。题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。2,3,5,7,11,13,....2,3,5,7,11,13,.... 是素数序列。 类似:7,37,67,97,127,1577,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。上边的数列公差为 30,长度为 66。20042004 年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜_长度为十的等差素数列,公差最小是多少蓝桥杯

推荐文章

热门文章

相关标签