#include "shuzu.h"
//最简单的冒泡排序实现
//输入的是线性表里的实际长度,线性表的结构体的变量指针.
void maopao1(int length,sqlist*L)
{
for(int i=1;i<length;i++)
{
for(int j=i+1;j<=length;j++)
{
if(L->Arry[i]>=L->Arry[j])
{
int temp;
temp=L->Arry[i];
L->Arry[i]=L->Arry[j];
L->Arry[j]=temp;
}
}
}
}
//冒泡排序
void maopao2(int length,sqlist*L)
{
for(int j=length;j>1;j--)
{
for(int i=1;i<j;i++)
if(L->Arry[i]>=L->Arry[i+1])
{
int temp;
temp=L->Arry[i];
L->Arry[i]=L->Arry[i+1];
L->Arry[i+1]=temp;
}
}
}
//冒泡排序的改进算法
//加入一个标志,当已经排好序,,就是不再需要交换时直接就退出循环
void maopao3(int length,sqlist*L)
{
int flag=1;
for(int j=length;j>1&&(flag==1);j--)
{
flag=0;
for(int i=1;i<j;i++)
if(L->Arry[i]>=L->Arry[i+1])
{
int temp;
temp=L->Arry[i];
L->Arry[i]=L->Arry[i+1];
L->Arry[i+1]=temp;
flag=1;
}
}
}
int main()
{
sqlist L;
product_shu(10,&L);
print(10,&L);
//maopao2(10,&L);
maopao3(10,&L);
print(10,&L);
system("pause");
}
排序。。。冒泡排序
最新推荐文章于 2023-10-03 11:53:44 发布