山东理工OJ 2122 数据结构实验之链表七:单链表中重复元素的删除
2016-07-20 14:37
447 查看
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2122
#include <stdio.h> #include <malloc.h> typedef struct node { int data; struct node* next; }Linklist; int main() { int n,i,flag,count; Linklist *h,*p,*pre,*q; scanf("%d",&n); h=(Linklist*)malloc(sizeof(Linklist)); h->next=NULL; for(i=1;i<=n;i++) { p=(Linklist*)malloc(sizeof(Linklist)); scanf("%d",&p->data); p->next=h->next; h->next=p; } printf("%d\n",n); for(i=1;i<=n;i++) { if(p->next!=NULL) printf("%d ",p->data); else printf("%d\n",p->data); p=p->next; } pre=h; p=h->next; while(p) { q=h->next; flag=0; while(q!=p) { if(q->data==p->data) { flag=1; break; } q=q->next; } if(flag==1) { pre->next=p->next; free(p); p=pre->next; continue; } pre=p; p=p->next; } p=h->next; count=0; while(p) { count++; p=p->next; } printf("%d\n",count); p=h->next; while(p) { if(p->next!=NULL) printf("%d ",p->data); else printf("%d\n",p->data); p=p->next; } return 0; } /************************************** Problem id : SDUT OJ 2122 User name : 2333 Result : Accepted Take Memory : 276K Take Time : 0MS Submit Time : 2016-07-20 14:34:46 **************************************/
相关文章推荐
- 数据结构C语言描述———快速排序算法详解
- 数据结构C语言——用二叉链表示二叉树
- 数据结构C语言描述———用顺序队列判断回文数
- java数据结构与算法学习1-排序
- 数据结构-串
- 【慢速学数据结构】图篇
- 复习(数据结构):栈:c语言:动态数组
- SDUT 3333 数据结构实验之栈六:下一较大值(二)
- 数据结构
- C语言描述数据结构———封装DLL
- hdu2570_迷瘴
- SDUT 2143 数据结构实验之栈四:括号匹配
- 数据结构—二叉树(C语言实现)
- sdut 3311 数据结构实验之串三:KMP应用
- 红黑树
- 栈的应用---平衡符号
- 栈的实现(链表方式)
- 栈的实现(数组方式)
- 基于栈数据结构的算法(poj-布尔表达式)
- 数据结构基本概念