本文主要是介绍排序。。。冒泡排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#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");
}
这篇关于排序。。。冒泡排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!