初学者之经典1——冒泡排序(适合最最初级的菜菜们)
#include <stdio.h>#include <stdlib.h>
main()
{
int ctr,inner,outer,didSwap,temp; /*定义整型变量,分别为ctr,inner,outer,didSwap,temp*/
int nums[10]; /*定义整型数组为10个元素,存放以下的随机*/
for (ctr=0;ctr<10;ctr++)
{ nums[ctr]=(rand()%99)+1; } /*利用rand()函数产生随机数,%99表示产生随机数不超过三位数*/
printf("\nHere is the list befor the sort:"); /*排列之前*/
for (ctr=0;ctr<10;ctr++)
{ printf("\n%d",nums[ctr]); } /*在显示屏上输出由上面随机产生的数字,并每输出一个换行*/
/*以下才是重点,也是算法所在*/
for (outer=0;outer<9;outer++) /*执行9次外循环,目的是每一个数字都能与相邻的数字作大小比较*/
{ didSwap==0;
for (inner=outer;inner<10;inner++) /*以下自己好好去体会吧!!慢慢悟~~~~*/
{ if (nums[inner]<nums[outer])
{ temp=nums[inner];
nums[inner]=nums[outer];
nums[outer]=temp;
didSwap==1;
}
}
if (didSwap==0)
{ break; }
}
printf("\nHere is the list after it is sorted:"); /*排列之后*/
for (ctr=0;ctr<10;ctr++)
{ printf("\n%d",nums[ctr]);}
getch();
} /*俺测试通过,有兴趣的话也试试吧!!~~*/
[ 本帖最后由 菜虫编编 于 2010-10-3 16:06 编辑 ]