/*左右交换*/
LinkList SWAP(LinkList L)
{
LinkList P,Q,Temp;
P=L->Next;
Q=P->Next;
Temp=Q->Next;
Q->Next=P;
P->Next=Temp;
L->Next=Q;
return L->Next;
}
/*带头结点的链表冒泡排序*/
LinkList Bubble_Sort_B(LinkList L,int N)
{
LinkList Rear;
int Flag=0;
for (int i = 0; i < N-1; i++)
{
Rear=L;
Flag=0;//标记是否已经有序
for (int j = 0; j < N-i-1; j++)
{
if ((Rear->Next->DATA)>(Rear->Next->Next->DATA))
{
Rear=SWAP(Rear);
Flag=1;
}else
Rear=Rear->Next;
}
if (Flag==0) break;
}
return L;
}