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

news/2024/7/24 5:04:29 标签: 链表

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

Time Limit: 1000MS  Memory Limit: 65536KB
Submit  Statistic

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

Author

不得使用数组!

#include <bits/stdc++.h>
using namespace std;
typedef struct node
{
   int data;
   struct node*next;
}st;
st*head,*p;
int n;
st*delet(st*head)
{
    st*q,*t,*p;
    p=head->next;
    while(p&&p->next)//注意此处
    {
        t=p;
        q=t->next;
        while(q!=NULL)
        {
            if(q->data==p->data)
            {
                t->next=q->next;
                q=t->next;
                n--;
            }
            else
            {
                t=q;
                q=q->next;
            }
        }
        p=p->next;
    }
    return head;
}
void show(st*head)
{
    p=head->next;
    while(p!=NULL)
    {
       cout<<p->data<<(p->next==NULL?'\n':' ');
        p=p->next;
    }
}
int main()
{
    int i;
    head=(st*)malloc(sizeof(st));
    head->next=NULL;
    cin>>n;
    for(i=0;i<n;i++)
    {
        p=(st*)malloc(sizeof(st));
        cin>>p->data;
        p->next=head->next;//逆向建表是逐个插入,所以p->next不为空
        head->next=p;

    }
    cout<<n<<endl;
    show(head);
    head=delet(head);
    cout<<n<<endl;
    show(head);
    return 0;
}



http://www.niftyadmin.cn/n/1186023.html

相关文章

瑞芯微RV1126/1109开发流程之json交叉编译

1.下载json源码 下载json源码地址https://github.com/open-source-parsers/jsoncpphttps://github.com/open-source-parsers/jsoncpp 本次安装下载json版本为jsoncpp-src-0.5.0 2.解压 下载下来后解压 tar -zxvf jsoncpp-src-0.5.0.tar.gz 3.交叉编译 3.1安装交叉编译链…

SDUT-2054 数据结构实验之链表九:双向链表

数据结构实验之链表九&#xff1a;双向链表Time Limit: 1000MS Memory Limit: 65536KBProblem Description学会了单向链表&#xff0c;我们又多了一种解决问题的能力&#xff0c;单链表利用一个指针就能在内存中找到下一个位置&#xff0c;这是一个不会轻易断裂的链。但单链表有…

瑞芯微RV1126/1109开发流程之redis交叉编译

1.下载redis源码 下载json源码地址 Releases redis/redis GitHub 本次安装下载json版本为redis-5.0.10.tar.gz 2.解压 下载下来后解压 tar -zxvf redis-5.0.10.tar.gz cd redis-5.0.10 3.交叉编译 3.1安装交叉编译链 本次交叉编译完成后运行在瑞芯微的RV1126上&…

SDUT-1197 约瑟夫问题

约瑟夫问题Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Descriptionn个人想玩残酷的死亡游戏&#xff0c;游戏规则如下&#xff1a; n个人进行编号&#xff0c;分别从1到n&#xff0c;排成一个圈&#xff0c;顺时针从1开始数到m&#xff0c;数到…

瑞芯微RV1126/1109开发流程之JDK安装

因本人在基于rv1126上开发的项目需要用到java&#xff0c;于是需要在该平台上安装JDK&#xff0c;在安装过程中遇到些错误&#xff1b;边缘视频计算模组均是基于ARM开发的&#xff0c;但是ARM的硬件架构类似CPU架构也分32位和64位的区别&#xff0c;因此在安装过程中必须找对合…

SDUT-2056 不敢死队问题

不敢死队问题Time Limit: 1000 ms Memory Limit: 65536 KiBSubmit Statistic DiscussProblem Description说到“敢死队”&#xff0c;大家不要以为我来介绍电影了&#xff0c;因为数据结构里真有这么道程序设计题目&#xff0c;原题如下&#xff1a;有M个敢死队员要炸掉敌人的一…

COCO评估输出指定某类AP或者输出每个类别AP结果

一 输出单类AP(不需要修改pycocotools) coco_eval.py源代码 """ COCO-Style Evaluations"""import json import osimport argparse from pycocotools.coco import COCO from pycocotools.cocoeval import COCOevaldef eval(coco_gt, image_ids…

SDUT-2120 数据结构实验之链表五:单链表的拆分

数据结构实验之链表五&#xff1a;单链表的拆分Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description输入N个整数顺序建立一个单链表&#xff0c;将该单链表拆分成两个子链表&#xff0c;第一个子链表存放了所有的偶数&#xff0c;第二个子链表存放了…