算法--循环单链表删除数值相同的元素
来源:互联网 发布:java 多口短信猫 编辑:程序博客网 时间:2024/06/05 20:33
DeleteNode(LinkList L)
{
Node *p,q;
q=L; //q指向头指针;
While(q->next!=L)
{
P=q->next; //p指向第一个节点;
q=q->next;
while(p->next!=L) //这个while循环实现各个节点与其余节点的比较
{
if (p!=p->next)
p=p->next;
else
p->next=p->next->next;
delete(p->next);
}
}
}
//可运行的代码
#include <stdio.h>
#include <malloc.h>
typedef struct LinkList
{
int elem;
struct LinkList *next;
}LList;
void CreatList( LList *L)
{
int ch;
LList *s;
printf("please enter the date:");
scanf("%d",&ch);
while(ch!=0)/*当输入为0时结束输入 */
{
s=malloc(sizeof( LList));
s -> elem = ch;
s ->next =L ->next;
L -> next = s;
printf("please enter the date:");
scanf("%d",&ch);
}
}
void reverse( LList *L)
{
LList *p,*r,*q;
p=L;
while(p)
{
q=p->next;
r=p;
while(q)
{
if(q->elem==p->elem)
{
r->next=q->next;
free(q);
q=r->next;
}
else
{
q=q->next;
r=r->next;
}
}
p=p->next;
}
}
void display( LList *L)
{
LList *p;
int i=1;
printf("链表为:");
p=L->next;
while(p)
{
printf("%d ",p->elem);
i++;
p=p->next;
}
}
void main()
{
LList *L;
L=malloc(sizeof(LList));
L->next=NULL;
CreatList(L);
display(L);
reverse(L);
display(L);
}
- 算法--循环单链表删除数值相同的元素
- 中兴通讯2012笔试题删除双向循环链表中相同的数值
- 删除所有相同的元素
- 带头节点循环单链表的操作(创建,保序插入,指定插入,删除指定表元,删除相同元素,统计某元素表元个数)
- jquery如何循环相同id的元素
- 循环list删除相同的数据
- 删除串中相同的元素
- 链表的相同元素删除
- [python]删除列表中相同的元素
- 删除两个容器内相同的元素
- 顺序表删除相同的元素
- 删除数组中相同的元素
- 删除字符串中相同的元素
- 删除数组中相同的元素
- 单链表 (反序,删除相同元素)
- 数据结构单链表删除相同元素(int)
- 删除数组中相同的元素 算法复杂度 O(nlogn)
- vecotr删除相同元素
- 如何优化操作大数据量数据库(几十万以上数据)(四。如何选择聚合索引)
- 一位苹果开发者的 iPad app 开发全过程
- java类自动生成Eclipse注册码
- SQL 优化学习笔记(一)
- FindSubstr()的使用
- 算法--循环单链表删除数值相同的元素
- Servlet的会话管理 机制
- Applet的install方法
- iPhone向多个号码发送短信的代码
- RAC中指定job运行实例
- 云计算之我见
- Oracle 10g (单)移植到到ASM
- [转]如何把一个Windows Phone 7 Twitter应用转换成新浪微博客户端
- Oracle事物