算法基础之排序(1)--冒泡排序
基本思想: 对待排序的一组数据从前之后进行扫描,若发现相邻的两个数不同时,将这两个数进行交换.
升序和降序是同样道理.
假如待排序的一组数存于array[N],则需要对数组进行N-1次扫描
第1次扫描: array[0]和array[1]对比交换,之后array[1]和array[2]对比交换...array[N-1] 和array[N]对比交换.
第2次扫描: array[0]和array[1]对比交换,之后array[1]和array[2]对比交换...array[N-1] 和array[N]对比交换.
.
.
.
第N-1次扫描: array[0]和array[1]对比交换,之后array[1]和array[2]对比交换...array[N-1] 和array[N]对比交换.
基本思想: 对待排序的一组数据从前之后进行扫描,若发现相邻的两个数不同时,将这两个数进行交换.
升序和降序是同样道理.
假如待排序的一组数存于array[N],则需要对数组进行N-1次扫描
第1次扫描: array[0]和array[1]对比交换,之后array[1]和array[2]对比交换...array[N-1] 和array[N]对比交换.
第2次扫描: array[0]和array[1]对比交换,之后array[1]和array[2]对比交换...array[N-1] 和array[N]对比交换.
.
.
.
第N-1次扫描: array[0]和array[1]对比交换,之后array[1]和array[2]对比交换...array[N-1] 和array[N]对比交换.
结束.
/**********************************************************************************************************
* Function : test
* Create Date : 2014/03/23
* Author : NTSK13
* Email : beijiwei@qq.com
* Copyright : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。
任何单位和个人不经本人允许不得用于商业用途
转载请注明 转自 http://blog.csdn.net/beijiwei
* Version : V0.1
* date : 2014/03/23
* history : V0.1
***********************************************************************************************************
#include<stdio.h>
int main()
{
int i=0,j=0,tmp=0,flag=0;
int array[10]={2,5,8,9,6,0,3,1,4,7};
printf("Before sort, The element of array is: \n");
for(i=0;i<10;i++)
{
printf("%d \t",array[i]);
}
/*********************************************************************************************************/
for(i=0;i<9;i++)
for(j=0;j<9;j++)
{
if(array[j]>array[j+1])
{
tmp=array[j];
array[j]=array[j+1];
array[j+1]=tmp;
}
}
/*********************************************************************************************************/
printf("\n After sort, The element of array is: \n");
for(i=0;i<10;i++)
{
printf("%d \t",array[i]);
}
printf("\n");
return 0;
}