博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SDUT OJ 数据结构上机测试1:顺序表的应用
阅读量:6156 次
发布时间:2019-06-21

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

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

Time Limit: 1000 ms 
Memory Limit: 65536 KiB
   

Problem Description

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

Input

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

Output

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

Sample Input

125 2 5 3 3 4 2 5 7 5 4 3

Sample Output

55 2 3 4 7

Hint

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

 

 

不知当时怎么想的会用链表来实现;;

 

#include 
#include
struct node{ int data; struct node *next;};int main(){ struct node *head, *p, *tail, *q, *r; head = (struct node *)malloc(sizeof(struct node)); head->next = NULL; tail = head; int i, n; scanf("%d", &n); for(i=0; i
data); p->next = NULL; tail->next = p; tail = p; } p = head->next; while(p) { r = p; q = r->next; while(q) { if( q->data != p->data ) { r = r->next; q = r->next; } else { r->next = q->next; free(q); q = r->next; n--; } } p = p->next; } printf("%d\n", n); p = head->next; while(p->next) { printf("%d ", p->data); p = p->next; } printf("%d\n", p->data); return 0;}

转载于:https://www.cnblogs.com/gaojinmanlookworld/p/10586923.html

你可能感兴趣的文章
【总结整理】JQuery基础学习---样式篇
查看>>
查询个人站点的文章、分类和标签查询
查看>>
基础知识:数字、字符串、列表 的类型及内置方法
查看>>
JSP的隐式对象
查看>>
JS图片跟着鼠标跑效果
查看>>
[SCOI2005][BZOJ 1084]最大子矩阵
查看>>
学习笔记之Data Visualization
查看>>
Leetcode 3. Longest Substring Without Repeating Characters
查看>>
416. Partition Equal Subset Sum
查看>>
app内部H5测试点总结
查看>>
[TC13761]Mutalisk
查看>>
while()
查看>>
常用限制input的方法
查看>>
IIS7下使用urlrewriter.dll配置
查看>>
并行程序设计学习心得1——并行计算机存储
查看>>
bulk
查看>>
C++ 迭代器运算
查看>>
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
查看>>
【算法笔记】多线程斐波那契数列
查看>>
java8函数式编程实例
查看>>