for(i=0;i<t-1;i++)
{
bChg=false;
for(j=t-1;j>i;j--)//无需全部遍历
{
if(Bx[j-1].open<Bx[j].open)//最大的左移
{
tmp.open = Bx[j].open;
tmp.ticket = Bx[j].ticket;
Bx[j].open = Bx[j-1].open;
Bx[j].ticket = Bx[j-1].ticket;
Bx[j-1].open = tmp.open;
Bx[j-1].ticket = tmp.ticket;
bChg = true;
}
}
if(!bChg)break;// 如果标志为false,说明本轮遍历没有交换,已经是有序数列,可以结束排序
}
发表评论