第1个回答 2008-02-18
水中的气泡,小的气泡在下面,大的在上面,小的气泡合成大的气泡后才浮出水面,冒泡法(起泡法)因此得名。
冒泡法的基本思想为:将一系列数从左至右,相邻比较小的放到前面,大的在后,一轮下来,最大的数在最后(不进行第二轮比较),第二轮又从第一个数开始从左至右,相邻比较,小的在前大的在后,如此往复,得到一个由小到大的系列。
算法如下:
1. 输入N个数给a[1],a[2],...,a[n];
2. for i=1 to n-1;
3. for j=1 to n-i(大数不进行下一轮比较);
4. 判断a[j]>[j+1] ? 如果是,交换a[j]和a[j+1];
5. 输出a[1]到a[n].
第2个回答 2008-02-19
int ch[N+1];
for(int i=0;i<N;i++)
//第一次循环找出最小的;第2次循环找出第2小的,直至找到最大的
{for(int j=i+1;j<N;j++)
{if(ch[i]>ch[j])
{ch[N]=ch[i],ch[i]=ch[j],ch[j]=ch[N];}
}}