//冒泡排序优化
#include<stdio.h>
//内存分配函数需加载的头文件
#include<stdlib.h>
//定义顺序表
typedef struct
{
//数据域
int *data;
//长度
int length;
}List;
//冒泡排序优化
void order(List &L)
{
//i jfor循环遍历索引 flag 交换标志:0 未交换 1已交换
int i,j,flag;
for(i=1;i<=L.length-1;i++)
{
//默认每轮都未发生交换
flag=0;
for(j=1;j<=L.length-i;j++)
{
if(L.data[j]>L.data[j+1])
{
int temp;
temp=L.data[j];
L.data[j]=L.data[j+1];
L.data[j+1]=temp;
//修改交换标志
flag=1;
}
}
//若某轮结束后,说明此时数组已有序,无需再进行遍历,提前终止算法
if(flag==0)
{
break;
}
}
}
06-10
8361

04-15
8127
