| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 597 人关注过本帖
标题:[讨论] 冒泡法的如何应用~
只看楼主 加入收藏
knightman
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-9-2
收藏
 问题点数:0 回复次数:3 
[讨论] 冒泡法的如何应用~
最近看到几个题目,都是关于冒泡法的,哪位高手能解释下冒泡法,最好在举几个简单的例子,
搜索更多相关主题的帖子: 应用 冒泡 
2007-09-03 20:04
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
冒泡``主要是注意2层循环``应用暂时不知道`````

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-09-03 20:19
knightman
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-9-2
收藏
得分:0 

呵呵~看来和我一样也是新手~
冒泡法的确是需要2层循环,一般来说是for的循环吧~
举个例子:输入20个数字,要求按照从小到大的顺序输出。
先定义数组和相关用到的整型变量~~array[20]~
for(i=0;i<20;i++)
for(j=0;j<20-i;j++){
if(array[j]>array[j+1])
{t=array[j];array[j]=array[j+1];array[j+1]=t;}
} 这就是冒泡法的中心结构;
main()
{
int a[20];
int i,j,t;
printf("input 20 numbers:\n");
for(i=1;i<20;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<20;j++)
{for(i=0;i<20-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}}
printf("the sorted numbers:\n");
for(i=0;i<20;i++)
printf("%d",a[i]);
}
这是具体算法~ 谢谢回复帖子的朋友~

2007-09-03 22:27
Spygg
Rank: 5Rank: 5
等 级:职业侠客
帖 子:135
专家分:394
注 册:2007-5-20
收藏
得分:0 
也可以用选择法排序啊核心算法如下
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]>a[j])
{
max=a[i];
a[i]=a[j];
a[j]=max;
}
2007-09-05 08:25
快速回复:[讨论] 冒泡法的如何应用~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014786 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved