黑马程序员--冒泡排序

来源:互联网 发布:windows 2008 加入域 编辑:程序博客网 时间:2024/05/23 20:17
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

冒泡排序:

今天学习了冒泡排序。冒泡排序可以总结为两次for循环。可以将一组没有顺序的数排列成有顺序的。冒泡排序原理是大数下沉,

就是通过就近两个数字比较,如果上面的数字大于下面的,则交换位置。否则不做任何操作。然后继续跟下一个数比较,一共比

较数组长度-1次,通过for循环可以找到数组最大的数字并且排序到最后,然后再进行一次for循环,找到第二大数字,一次执行就

可以找达到数组有序排列的目的

一下为冒泡排序a[10]由小到大排列代码以及程序运行结果

#include "stdafx.h"


void a(int a[10],int len){

     int temp;

//两次for循环

for (int i = 0; i < len-1; i++)

{
for (int j = 0; j < len-1-i; j++)

{

                      //如果上面的数大于下面的数。交换位置

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

temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;


}
}
}


}


int _tmain(int argc, _TCHAR* argv[])
{
int a1[10]={1,34,23,67,887,3456,1234,245,124,687};//定义一个数组
//void a(int a[10],int len);//函数声明,函数写到主函数上面可以省略声明

a(a1,10);//条用a函数

//打印排序后的数组

for (int i = 0; i < 10; i++)
{
printf("%d\t",a1[i]);
}
return 0;
}
0 0
原创粉丝点击