c语言排序

来源:互联网 发布:sql 某个字段去重复 编辑:程序博客网 时间:2024/06/05 22:51

C语言排序简介

C语言排序分为以下几类:

1、冒泡排序

2、选择排序

3、插入排序

4、希尔排序(最快)

5、堆排序

6、快速排序(常用)

一、冒泡排序

冒泡排序(从小到大),每一个值和下一个值比较,如果满足条件就交换。

如一个数组10,9,8,7,6,5,4,3,2,1.

9 8 7 6 5 4 3 2 1 10

8 7 6 5 4 3 2 1 9 10

7 6 5 4 3 2 1 8 9 10

6 5 4 3 2 1 7 8 9 10

5 4 3 2 1 6 7 8 9 10

4 3 2 1 5 6 7 8 9 10

3 2 1 4 5 6 7 8 9 10

2 1 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 10 

 

每一次排序把最大的像鱼泡一样吧最大值冒到最左边

程序如下:

#include <stdio.h>

 

void swap(int a[],int i,int j)//交换函数

{

int temp;

temp = a[i];

a[i] = a[j];

a[j] = temp;

}

 

void print(int a[])//打印函数

{

int i;

for(i = 0 ;i < 10;i++)

{

printf("%d ",a[i]);

}

printf("\n");

}

 

void maopao(int a[])//冒泡排序

{

int i,j;

for (i = 0; i < 9; ++i)

{

for(j = 0; j < 9 - i;j++)

{

if (a[j] > a[j+1])

{

swap(a,j,j+1);

}

}

print(a);

}

    printf("\n");

}

 

 

 

int main()

{

int a[10] = {10,9,8,7,6,5,4,3,2,1};

maopao(a);

print(a);

 

    return 0;

}

原创粉丝点击