数据结构算法设计题:单循环链表中删除表中所有数值相同的多余元素

算法设计题:单循环链表中删除表中所有数值相同的多余元素... 算法设计题:单循环链表中删除表中所有数值相同的多余元素 展开
声声慢老师
2009-11-14 · TA获得超过251个赞
知道小有建树答主
回答量:276
采纳率:0%
帮助的人:143万
展开全部
//算法设计题:单循环链表中删除表中所有数值相同的多余元素
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#define OK 1
#define Status int
typedef struct LNode
{
int data;
LNode *next;
}LNoed,*LinkList;
Status CreateList_L(LinkList &L)
{
int n,i;
LinkList p,q;
printf("input the length of the List\n");
scanf("%d",&n);
printf("input the data\n");
L=(LinkList)malloc(sizeof(LNode));
q=L;
scanf("%d",&L->data);
//L->next=NULL;
for(i=2;i<=n;i++)
{
p=(LinkList)malloc(sizeof(LNode));
scanf("%d",&p->data);
q->next=p;
//p->next=NULL;
q=p;
}
p->next=L;

return OK;
}
Status OutList_L(LinkList L)
{
printf("the List is\n");
LinkList p;
p=L;
do
{
printf("%4d",p->data);
p=p->next;
}while(p!=L);
printf("\n");
return OK;
}
Status ListDelete_L(LinkList &L)
{
LinkList q,r,p,p1;
q=L;
do
{ p=q;
p1=p->next;
while(p1!=L)
{

if(q->data==p1->data)
{ r=p1;
p1=p->next=r->next;
free(r);
}
else
{
p1=p1->next;
p=p->next;
}
}

q=q->next;
}while(q!=L);
return OK;
}

void main()
{
LinkList La;
CreateList_L(La);
OutList_L(La);
ListDelete_L(La);
OutList_L(La);
}

//朋友,这是我花了一个小时写出来的,我觉得用双向链表其实更好做。记住一定要自己想哟,上面的程序仅供参考!一定要在VC中运行哟,因为&是C++里面的东西。不过你也可以改用指针。
MCE 中国
2025-03-12 广告
以下是虚拟筛选的简要流程图说明:1. **调研靶点**:确认是否有参考药物与结合模式信息。2. **建立模型**:基于靶点蛋白结构,参考已有药物结合信息或预测药物结合模式。3. **选择库源**:从多样性化合物库、上市药物分子库等中挑选合适... 点击进入详情页
本回答由MCE 中国提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式