概念
冒泡排序是通过依次的比较,将所需要的元素层层交换(冒泡)至数据链的开头,每冒泡一次,则数据链头部往后移一位经过N次冒泡之后,得到最终序列的算法!!
性质
1、该排序是稳定的!
2、该排序的空间复杂度为O(1)、时间复杂度为O(N^2)!!
检测
例题:将一个链表采用冒泡的方式,将其有序化。(这里我们暂定是降序)
实验数据:链表结点的数据依次为:3,6,1,7,5,0
理想结果:7,6,5,3,1,0
冒泡原理
通过循环,将其有序化!!
链表冒泡的代码
// 用冒泡排序思想对单链表进行排序 (降序)
void BubbleSort(PNode pHead)
{
if (pHead == NULL)
{
printf("链表为空,无法排序!!\n");
return;
}
PNode pCur1 = pHead;
PNode pC