#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;
}
链表的选择排序(c++)
于 2022-03-25 14:41:32 首次发布