【排序总结--冒泡、选择、交换】

来源:互联网 发布:网页游戏制作软件 编辑:程序博客网 时间:2024/06/11 05:17

头文件:

#include<stdio.h>#define N 10void maopao(int a[],int n);void exchange(int a[],int n);void choose(int a[],int n);

主函数:

#include"sort_header.h"int main(void){int i;int a[N] = {3,2,4,5,6,1,0,9,8,7};puts("原数组为:");for(i = 0 ;i<N;i++)printf("%-3d",a[i]);puts("");//maopao(a,N);//exchange(a,N);choose(a,N);puts("排序后数组为:");for(i = 0 ;i<N;i++)printf("%-3d",a[i]);puts("");return 0;}


冒泡排序:

#include"sort_header.h"void maopao(int a[],int n){int i,j;int flag=1;for(i=0;i<n-1 && flag==1;i++)//比较次数{flag = 0;for(j=0;j<n-i-1;j++){if(a[j]>a[j+1]){a[j]^=a[j+1]^=a[j]^=a[j+1];flag = 1;}}}printf("冒泡");}

选择排序:

#include"sort_header.h"void choose(int a[],int n){int i,j,k;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++){if(a[k]>a[j])k=j;}if(k!=i){a[k]^=a[i]^=a[k]^=a[i];}}printf("选择");}

交换排序:

#include"sort_header.h"void exchange(int a[],int n){int i,j;for(i=0;i<n-1;i++){for(j=i+1;j<n;j++){if(a[i]>a[j]){a[i]^=a[j]^=a[i]^=a[j];}}}printf("交换");}


原创粉丝点击