oj2204——使链表中不存在相同元素
来源:互联网 发布:域名证书有什么用 编辑:程序博客网 时间:2024/06/08 02:57
问题描述:删除链表中相同数据
作者:何知令
作者:何知令
完成时间:2017年4月25日
代码:
/*问题描述:删除链表中相同数据作者:何知令完成时间:2017年4月25日*/#include <stdio.h>#include <stdlib.h>int a[10000];typedef int ElemType;typedef struct LNode//单链表结构体{ ElemType data; struct LNode *next;} LinkList;void IinitList(LinkList *L)//创建单链表的表头{ L->next=NULL;}void InitList(LinkList *L){ L=(LinkList *)malloc(sizeof(LinkList)); L->next=NULL;}void CreateList(LinkList *L,ElemType a[],int n)//初始化单链表{ LinkList *s,*r; int i; r=L; for(i=0; i<n; i++) { s=(LinkList *)malloc(sizeof(LinkList)); s->data=a[i]; r->next=s; r=s; } r->next=NULL;}void DispList(LinkList *L)//遍历单链表,输出其上每一个元素{ LinkList *p=L->next; while(p!=NULL) { printf("%d ",p->data); p=p->next; }}int DeleteList(LinkList *L)//删除相同元素{ LinkList *q=L->next,*p,*k;//p和q均指向第一节点 while(q!=NULL&&q->next!=NULL) { p=q;//对p指针重新赋值将其指向q指针指向的下一个数据 while(p!=NULL&&p->next!=NULL) { if(q->data==p->next->data)//q指向的当前节点数据与p指向的当前节点数据相同时执行删除操作 { k=p->next;//设置一指针指向该位置 p->next=k->next;//指针转移 free(k);//删除操作 } else p=p->next;//访问下一字符 } q=q->next; } return 1;}int main(){ int i; int n; LinkList L; scanf("%d",&n); for(i=0; i<n; i++) scanf("%d",&a[i]); IinitList(&L); CreateList(&L,a,n); if(DeleteList(&L)) DispList(&L); return 0;}程序运行结果展示:
知识点总结:数据结构,结构体
学习心得:开始各种懵逼,现在也开始会了
0 0
- oj2204——使链表中不存在相同元素
- Java笔记——两数组取相同元素
- (lodash_gcy)unique—移除数组中的相同元素
- Java算法分析1—————寻找数组相同元素
- 面试题——找出数组中不相同的所有元素(是数组,不是集合)
- Trick(十四)—— 判断是否序列中所有的元素都相同
- 学习算法(2)——查找数组中的相同元素
- 学习算法(3)——查找2个数组中的相同元素
- 过滤相同的元素
- vecotr删除相同元素
- 找出数组相同元素
- Request 分别获取具有相同 name 属性表单元素值—— 怀念 Classic ASP (转自博客园)
- Request 分别获取具有相同 name 属性表单元素值—— 怀念 Classic ASP (转自博客园)
- Java基本方法——String数组转List,删除List1中与List2中相同的元素
- Java对数组的操作(三)—比较两个数组中的元素是否相同的最简单方法
- 检测list内有几组相同元素
- 数组中排除相同元素
- 数组中排除相同元素
- AndroidStudio与Java8(二)
- redis 使用
- D. Paths in a Complete Binary Tree CodeForces
- 内核阻塞式IO
- ActionBar为null
- oj2204——使链表中不存在相同元素
- spring实例化类,避免重复加载applicationcontext
- springmvc 定时任务执行2次
- GDB程序调试(四)
- Python threading 多线程
- 基于gsoap的Onvif框架生成
- Android给app签上系统级签名
- 视图
- Android中Fragment的总结