数据结构练习笔记——删除单链表中相同元素

删除单链表中相同元素

【问题描述】单链表中存放了若干整数,请删除相同整数。
【输入形式】单链表
【输出形式】删除相同整数后的单链表
【样例输入】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;
}

记录一些数据结构学习过程的习题代码,便于日后查看。如有错误,欢迎交流指正。

posted @ 2023-07-18 09:08  某zhuan  阅读(90)  评论(0)    收藏  举报