带头节点的简单选择排序
时间: 2023-11-06 15:53:49 浏览: 104
单链表的建立运算-数据结构-线性表课件
简单选择排序的带头节点实现如下:
```C++
void SelectSort(LinkList& L) {
LNode* p = L->next;
while (p != NULL) {
LNode* minp = p;
LNode* q = p->next;
while (q != NULL) {
if (q->data < minp->data) {
minp = q;
}
q = q->next;
}
if (minp != p) {
int temp = p->data;
p->data = minp->data;
minp->data = temp;
}
p = p->next;
}
}
```
这是一个简单选择排序的实现,它从链表中选择最小的元素,然后与当前位置的元素进行交换。通过不断选择最小的元素并交换,最终完成排序。
阅读全文