0
点赞
收藏
分享

微信扫一扫

链表的选择排序(c++)

萨科潘 2022-03-25 阅读 56
数据结构
#include<iostream>
using namespace std;
typedef struct LNode
{
	int data;
	struct LNode* next;
}LNode, * LinkList;
void CreatList(LinkList& L, int n)
{
	L = new LNode;
	L->next = NULL;
	LinkList r = L;
	while (n--)
	{
		LinkList p = new LNode;
		cin >> p->data;
		p->next = NULL;
		r->next = p;
		r = p;
	}
}
void SeleteSort(LinkList& L)
{
	LinkList p = L->next, q, min;
	int temp;
	while (p)
	{
		q = p->next;
		min = p;
		while (q)
		{
			if (q->data < min->data)
				min = q;
			q = q->next;
		}
		if (p != min)
		{
			temp = min->data;
			min->data = p->data;
			p->data = temp;
		}
		p = p->next;
	}
	p = L;
	while (p->next)
	{
		cout << p->next->data << " ";
		p = p->next;
	}
	cout << endl;
}
int main()
{
	LinkList L;
	int n;
	while (cin >> n && n)
	{
		CreatList(L, n);
		SeleteSort(L);
	}
	return 0;
}
举报

相关推荐

0 条评论