数据结构上机测试1:顺序表的应用

2023-05-16

这是通过程序设计基础的链表实现顺序表的代码

 

 

 

数据结构上机测试1:顺序表的应用

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic Discuss

Problem Description

在长度为n(n<1000)的顺序表中可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只能有一个)。

Input

第一行输入表的长度n;
第二行依次输入顺序表初始存放的n个元素值。

Output

第一行输出完成多余元素删除以后顺序表的元素个数;
第二行依次输出完成删除后的顺序表元素。

Sample Input

12
5 2 5 3 3 4 2 5 7 5 4 3

Sample Output

5
5 2 3 4 7

Hint

用尽可能少的时间和辅助存储空间。

Source

 

 

 

#include <stdio.h>
#include <stdlib.h>

struct node
{
    int data ;
    struct node *next;
};
int main ()
{
    int n , i ;
    struct node *head , * p , *q , *x;
    scanf("%d", &n);
    head = (struct node *)malloc(sizeof(struct node));
    head-> next = NULL;
    q = head;
    for (i =  0 ; i < n ; i++)
    {
        p = (struct node *) malloc(sizeof(struct node ));
        p-> next = NULL;
        scanf("%d" , &p->data);
        q->next = p;
        q = p;
    }
    p = head->next;

    while(p-> next != NULL)
    {
        x = p;
        q = p-> next;
        while(q-> next != NULL)
        {
            if(q-> data == p-> data)
            {
                x-> next = q-> next;
                q = q-> next;
                n--;
            }

            else
            {
                x = x-> next;
                q = q-> next;
            }

        }

        if(q-> next == NULL)
        {
            if(q->data == p-> data)
            {
                x-> next = NULL;
                n--;
            }
        }

        if(p-> next != NULL)
        {
            p = p-> 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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据结构上机测试1:顺序表的应用 的相关文章

  • Clion安装以及配置本地C++环境

    一 下载Clion 去JB公司官网下载CLion https www jetbrains com clion download section 61 windows 然后就是等 xff0c 一直等 xff0c 不要运行 xff0c 等到mi
  • 7-2国王游戏

    题目 xff1a 恰逢 H 国国庆 xff0c 国王邀请 n 位大臣来玩一个有奖游戏 首先 xff0c 他让每个大臣在左 右手上面分别写下一个整数 xff0c 国王自己也在左 右手上各写一个整数 然后 xff0c 让这 n 位大臣排成一排
  • 编码

    编码 Time Limit 1000MS Memory Limit 65536KB Problem Description 给你一个由大写字母组成的组成的字符串 xff0c 你可以用如下规则对其进行编码 xff1a 1 包含K个相同字母的连
  • C语言实验——字符编码

    C语言实验 字符编码 Time Limit 1000MS Memory Limit 65536KB Problem Description 请将一串长度为5的纯字母文本译成一个密码 xff0c 密码规律如下 xff1a 用原来的字母后面的第
  • C语言实验——求一个3*3矩阵对角线元素之和

    C语言实验 求一个3 3矩阵对角线元素之和 Time Limit 1000MS Memory Limit 65536KB Problem Description 给定一个3 3的矩阵 xff0c 请你求出对角线元素之和 Input 按照行优
  • 爬山

    爬山 Time Limit 1000MS Memory Limit 65536KB Problem Description LeiQ最近参加了一个登山俱乐部 xff0c 部长给他了一个n m地图 地图上的每一个格子的值表示一个山的海拔高度
  • 鞍点计算

    鞍点计算 Time Limit 1000MS Memory Limit 65536KB Problem Description 找出具有m行n列二维数组Array的 鞍点 xff0c 即该位置上的元素在该行上最大 xff0c 在该列上最小
  • 回文串判定

    回文串判定 Time Limit 1000MS Memory Limit 65536KB Problem Description 输入一串字符 xff08 长度小于100 xff09 xff0c 判断该串字符是否是回文串 xff08 正序读
  • C语言合法标识符

    C语言合法标识符 Time Limit 1000MS Memory Limit 65536KB Problem Description 输入一个字符串 xff0c 判断其是否是C的合法标识符 Input 输入数据包含多个测试实例 xff0c
  • 简单字符串排序

    简单字符串排序 Time Limit 5000MS Memory Limit 100000KB Problem Description 从键盘输入10个学生的姓名和成绩 xff0c 请按字典序排列学生的姓名并输出 xff08 姓名和成绩对应
  • 小鑫の日常系列故事(二)——石头剪子布

    小鑫 日常系列故事 xff08 二 xff09 石头剪子布 Time Limit 1000MS Memory Limit 65536KB 小鑫在上幼儿园的时候 xff0c 喜欢跟小伙伴健健玩石头剪子布的游戏 xff0c 你能帮他们判断谁胜谁
  • 中位数

    中位数 Problem Description 中位数是指在一组数据中 xff0c 按数值大小排序后处于中间位置的数 例如 xff1a 1 5 3 排序后为 1 3 5 xff0c 则其中位数为 3 特别地 xff0c 当数的个数 N 为偶
  • 分享下我 Github 被封的经历

    最近好像又有人 Github 被封 xff0c 每隔一段时间就有 分享下我自己的经历吧 xff0c 好几年以前了 xff0c 也许还是有点参考价值 账号被封 xff0c 查找原因 那是 2017 年 12 月 xff0c 有天早上起来突然发
  • 幸运数字

    幸运数字 Time Limit 1000MS Memory Limit 65536KB Problem Description 我们定义幸运数字为只含有且必须同时含有 4 和 7 的数 例如 xff1a 47 747 是幸运数字 xff0c
  • A-B Problem

    A B Problem Time Limit 1000MS Memory Limit 65536KB Problem Description 这次当然不是简单的 a b 呐 xff5e 有一个神奇的变换规则是这样的 xff1a 给定两个数
  • C语言实验——一元二次方程Ⅰ

    C语言实验 一元二次方程 Time Limit 1000MS Memory Limit 65536KB Problem Description 解一元二次方程ax 2 43 bx 43 c 61 0的解 保证有解 Input a b c的值
  • C/C++经典程序训练2---斐波那契数列

    C C 43 43 经典程序训练2 斐波那契数列 Time Limit 1000MS Memory Limit 65536KB Problem Description 编写计算斐波那契 xff08 Fibonacci xff09 数列的第n
  • C/C++程序训练6---歌德巴赫猜想的证明

    C C 43 43 程序训练6 歌德巴赫猜想的证明 Time Limit 1000MS Memory Limit 65536KB Problem Description 验证 每个不小于6的偶数都是两个素数之和 xff0c 输入一个不小于6

随机推荐

  • C语言实验——整数位

    C语言实验 整数位 Time Limit 1000MS Memory Limit 65536KB Problem Description 输入一个不多于5位的正整数 xff0c 要求 xff1a xff08 1 xff09 求出它是几位数
  • C语言实验——各位数字之和排序

    C语言实验 各位数字之和排序 Time Limit 1000MS Memory Limit 65536KB Problem Description 给定n个正整数 xff0c 根据各位数字之和从小到大进行排序 Input 输入数据有多组 x
  • yxc 的日常

    yxc 的日常 Time Limit 1000MS Memory Limit 65536KB Problem Description yxc 特别喜欢睡觉 xff0c 但是由于上课和训练 xff0c 他睡觉的时间并不是连续的 xff0c 他
  • 奇偶性

    奇偶性 Time Limit 1000MS Memory Limit 32768KB Problem Description 判断输入的数据的奇偶性 Input 输入数据第一行是一个正整数N 接下来N行 xff0c 每行一个正整数 Outp
  • 念数字

    山东理工大学第一届团体程序设计天梯赛各班内组队选拔测试赛 3 290 分 编程题共 15 小题 xff0c 共计 290 分 剩余时间 30 03 10 剩余时间 30 03 10 编程题 7 9 念数字 xff08 15 分 xff09
  • Linux环境Ubuntu版本安装CMake V3.23.1记录

    以下采用源码方式安装 xff0c 先确认Ubuntu能够正常访问网络 以下bash终端命令皆是在root权限下 xff0c 否则在命令前加sudo 官方网址 xff1a 跳转连接 在命令终端切换root权限后 xff0c 安装以下内容 ni
  • 数据结构实验之链表二:逆序建立链表

    Problem Description 输入整数个数N xff0c 再输入N个整数 xff0c 按照这些整数输入的相反顺序建立单链表 xff0c 并依次遍历输出单链表的数据 Input 第一行输入整数N xff1b 第二行依次输入N个整数
  • 数据结构实验之链表一:顺序建立链表

    Problem Description 输入N个整数 xff0c 按照输入的顺序建立单链表存储 xff0c 并遍历所建立的单链表 xff0c 输出这些数据 Input 第一行输入整数的个数N xff1b 第二行依次输入每个整数 Output
  • 数据结构实验之链表七:单链表中重复元素的删除

    书上的例题 Problem Description 按照数据输入的相反顺序 xff08 逆位序 xff09 建立一个单链表 xff0c 并将单链表中重复的元素删除 xff08 值相同的元素只保留最后输入的一个 xff09 Input 第一行
  • 数据结构实验之链表九:双向链表

    数据结构实验之链表九 xff1a 双向链表 Time Limit 1000 ms Memory Limit 65536 KiB Problem Description 学会了单向链表 xff0c 我们又多了一种解决问题的能力 xff0c 单
  • 数据结构实验之排序八:快速排序

    数据结构实验之排序八 xff1a 快速排序 Time Limit 1000 ms Memory Limit 65536 KiB Submit Statistic Problem Description 给定N N 10 5 个整数 xff0
  • 养兔子

    养兔子 Time Limit 1000 ms Memory Limit 65536 KiB Submit Statistic Problem Description 一对成熟的兔子每天能且只能产下一对小兔子 xff0c 每次都生一公一母 x
  • 母牛的故事

    母牛的故事 Time Limit 1000 ms Memory Limit 65536 KiB Submit Statistic Problem Description 有一对夫妇买了一头母牛 xff0c 它从第2年起每年年初生一头小母牛
  • 猴子分桃

    猴子分桃 Time Limit 1000 ms Memory Limit 65536 KiB Submit Statistic Problem Description 老猴子辛苦了一辈子 xff0c 给那群小猴子们留下了一笔巨大的财富 一大
  • 骨牌铺方格

    骨牌铺方格 Time Limit 1000 ms Memory Limit 32768 KiB Submit Statistic Problem Description 在2 n的一个长方形方格中 用一个1 2的骨牌铺满方格 输入n 输出铺
  • 三国佚事——巴蜀之危

    三国佚事 巴蜀之危 Time Limit 1000 ms Memory Limit 65536 KiB Submit Statistic Problem Description 话说天下大势 xff0c 分久必合 xff0c 合久必分 却道
  • 精读《设计模式 - Singleton 单例模式》

    Singleton xff08 单例模式 xff09 Singleton xff08 单例模式 xff09 属于创建型模式 xff0c 提供一种对象获取方式 xff0c 保证在一定范围内是唯一的 意图 xff1a 保证一个类仅有一个实例 x
  • 骨牌铺方格II

    骨牌铺方格II Problem Description 在3 n的一个长方形方格中 用一个1 3的骨牌铺满方格 输入n 输出铺放方案的总数 例如n 61 4时 为3 4方格 xff0c 骨牌的铺放方案有3种 Input 输入数据由多行组成
  • 数据结构实验之排序二:交换排序

    数据结构实验之排序二 xff1a 交换排序 Time Limit 1000 ms Memory Limit 65536 KiB Submit Statistic Discuss Problem Description 冒泡排序和快速排序都是
  • 数据结构上机测试1:顺序表的应用

    这是通过程序设计基础的链表实现顺序表的代码 数据结构上机测试1 xff1a 顺序表的应用 Time Limit 1000 ms Memory Limit 65536 KiB Submit Statistic Discuss Problem