单链表节点存储字符,编写算法删除其中重复的字符的节点(数据结构)
答案:2 悬赏:0 手机版
解决时间 2021-02-07 22:43
- 提问者网友:wodetian
- 2021-02-07 03:23
单链表节点存储字符,编写算法删除其中重复的字符的节点(数据结构)
最佳答案
- 五星知识达人网友:患得患失的劫
- 2021-02-07 03:32
//定义链表:
typedef struct node
{
char member_name[20];//链表中单节点的数据项,还可以写更多.
sruct node *link;//专用于链表的指针.叫该链表的链域.
}_list;//链名.由它所定义的节点(一般叫指针)就可以组成链表.
int n;
int main()
{
s_list h,s,p;
//分配内存空间
if((h=(s_list*)malloc(sizeof(s_list)))==null)
{printf("不能分配内存空间!");
eixt(0);}
h->name[0]='\0';
h->link=null;//定义链头
p=h->link;
for(int i=0;i
{
if((s=(s_list*)malloc(sizeof(s_list)))==null)
{ cout<<"\ncant't make memery space!";
exit(-1);}//分配,判断是否有可用的内存空间.
p-link=s;
// 在这里为新节点s赋值.
s->link=null;
p=p->link;//即p=s;
}//endfor
这样就在内存中创建了一个以h为链头的链表.n表示了链表中有多少个记录(节点).
typedef struct node
{
char member_name[20];//链表中单节点的数据项,还可以写更多.
sruct node *link;//专用于链表的指针.叫该链表的链域.
}_list;//链名.由它所定义的节点(一般叫指针)就可以组成链表.
int n;
int main()
{
s_list h,s,p;
//分配内存空间
if((h=(s_list*)malloc(sizeof(s_list)))==null)
{printf("不能分配内存空间!");
eixt(0);}
h->name[0]='\0';
h->link=null;//定义链头
p=h->link;
for(int i=0;i
if((s=(s_list*)malloc(sizeof(s_list)))==null)
{ cout<<"\ncant't make memery space!";
exit(-1);}//分配,判断是否有可用的内存空间.
p-link=s;
// 在这里为新节点s赋值.
s->link=null;
p=p->link;//即p=s;
}//endfor
这样就在内存中创建了一个以h为链头的链表.n表示了链表中有多少个记录(节点).
全部回答
- 1楼网友:时间的尘埃
- 2021-02-07 04:14
voidDeleteSameNode(LinkList &L) {
LinkList p, q, r
for(p=L->next;p!=NULL;p=p->next)
for(r=p,q=p->next;q!=NULL;q=q->next)
if(q->data==p->data){
r->next=q->next;
free(q);
q=r;
}
else r=r->next;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯