删除单链表的重复节点程序(数据结构)急!

来源:百度知道 编辑:UC知道 时间:2024/06/28 16:15:15
题目:
删除单链表的重复节点
程序如下
scanf("%d",&size);
createlist_l(list,size);

p=list->next;
q=p->next;
for(i=1;i<size;i++)
for(j=size-i;j>0;j--)
if(p->data!=q->data)
q=q->next;
else listdelete_l(list,i,e);break;
p=p->next;
q=q->next;
print_list(list);
}

问题是
1)我的程序语法没有错,但是就是不是正确答案
2)creatlist是逆序创表,那么他的头节点是不是就是list(表名 )呢?
3)话说在哪里找模板呢?

1.你的代码都不全的。。。。(结构体也没有)怎么会输出你想要的答案呢,对吗?
2.同上一个问题连在一起的,建议先弄懂结构体和指针吧再开始学怎么写链表
3.其实这个题目我写过(链表的逆置和删除),在我文件夹里面,我忘了是哪个,模板可以贴给你的,自己写的,函数功能和名字一样的都测试过的,你参考参考吧
/****************************************************************/
/*
单链表v2 第二版 比较规范了
1.函数列表:
1.1 LinkedList LinklistInit() ok
1.2 void LinkedListClear(LinkedList L) ok
1.4 int LinkedListEmpty(LinkedList L) ok
1.5 void LinkedListTraverse(LinkedList L) ok
1.6 int LinkedListLength(LinkedList L) ok
1.7 void LinkedListGet(LinkedList L,int i) ok
1.8 int LinkedListLocate(LinkedList L, ElemType x) ok
1.9 void LinkedListInsert(LinkedList L, int i, ElemType x)
1.10 void LinkedListDel(LinkedList L,int i) ok
1.11 LinkedList LinkedListCreat( ) ok

2 malloc 就是开辟新空间的时候使用
1.1 1.9 1.11 使用过

/****************************************************