删除单链表中相同元素
【问题描述】单链表中存放了若干整数,请删除相同整数。
【输入形式】单链表
【输出形式】删除相同整数后的单链表
【样例输入】1 1 1 2 3
【样例输出】1 2 3
【样例说明】递增的形式输入数据,允许相同元素
#include <stdlib.h>
#include <iostream>
using namespace std;
struct LNode {
int data;
LNode *next;
};
typedef LNode *LinkList;
void createList(LinkList &h, int n) {
h = new LNode;
h->next = NULL;
LNode *p, *r;
r = h;
for (int i = 1; i <= n; i++) {
p = new LNode;
cin>>p->data;
r->next = p;
r = p;
}
r->next = NULL;
}
void printList(LinkList h) {
LNode *p=h->next;
while(p) {
cout<<p->data<<" ";
p=p->next;
}
cout<<endl;
}
//---------------
void listDeleteRepeat(LinkList &h) {
LinkList p=h->next;
while(p->next) {
if(p->data==p->next->data)
p->next=p->next->next;
else
p=p->next;
}
}
//---------------
int main() {
LinkList h;
createList(h, 5);
listDeleteRepeat(h);
printList(h);
return 0;
}
记录一些数据结构学习过程的习题代码,便于日后查看。如有错误,欢迎交流指正。
标签:单链,LNode,int,next,LinkList,表中,数据结构 From: https://www.cnblogs.com/zhuannnn/p/17561858.html