排序。。。冒泡排序

来源:互联网 发布:云计算基础知识 编辑:程序博客网 时间:2024/06/08 15:49
#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");}

0 0
原创粉丝点击