标题:怎么区分冒泡法和选择排序法呀??
只看楼主
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
 问题点数:0 回复次数:6 
怎么区分冒泡法和选择排序法呀??
如题
搜索更多相关主题的帖子: 冒泡 选择 
2008-01-05 21:11
jingru
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2006-11-16
得分:0 
看其排序过程,看源码
2008-01-05 21:18
狂人老大
Rank: 1
来 自:杭州
等 级:新手上路
威 望:1
帖 子:394
专家分:0
注 册:2007-6-21
得分:0 
第(i++)个元素和第(j++)个元素比较是选择
第(i)个和第(i++)个元素比较是冒泡

ACMer的QQ群:33741351
单片机QQ群:55130117
2008-01-05 21:24
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
得分:0 
晕呀!怎么都没有文字的说明呢!!
2008-01-05 21:25
HackAkm
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-12-12
得分:0 
#include <stdio.h>
#define N 10
int main()
{
    int a[N],i,j,t;
    for(i=0;i<N;i++)
        scanf("%d",&a[i]);
    for(i=0;i<N-1;i++)   //确定需要多少次排序,这里就是N-1次
        for(j=0;j<N-i-1;j++)  //每次排序N-i个数字,两个两个比较
            if(a[j]>a[j+1])        //判断相邻两个元素的大小,如果a[i]>a[j+1]就执行下面的
            {
                t=a[j];    //交换a[j] 和 a[j+1]的位置
                a[j]=a[j+1];
                a[j+1]=t;
            }
        for(i=0;i<N;i++)
        printf("%d ",a[i]);
        return 0;

}
/*
冒泡排序说明:
如果最初始化的数组序列为8 6 3 1 2 9 5 4

第1次排序后结果为        8 6 3 1 2 9 5 4 先会对8和6比较,
第2次排序后结果为        6 8 3 1 2 9 5 4
第3次排序后结果为        6 3 8 1 2 9 5 4
第4次排序后结果为        6 3 1 8 2 9 5 4
第5次排序后结果为        6 3 4 2 8 9 5 4
第6次排序后结果为        6 3 1 2 8 9 5 4    
第7次排序后结果为        6 3 1 2 8 5 9 4
第一趟排序结果            6 3 1 2 8 5 4 9



这个的是随便输入数字 然后排大小的
呵呵 是昨天我朋友给我的作业
我后来问其他人才晓得  是冒泡法吧
2008-01-05 21:36
岳C
Rank: 1
等 级:禁止发言
帖 子:354
专家分:0
注 册:2007-7-16
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

坚持到底
2008-01-06 12:34
穿越人海
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-9-25
得分:0 
回复 5楼 HackAkm
5楼的同志,对于
for(i=0;i<N-1;i++)   
        for(j=0;j<N-i-1;j++)  
能不能写成这样的形式啊:
for(i=0;i<N;i++)   
        for(j=0;j<N-i;j++)  
请指教,谢谢!
2010-10-05 11:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-196074-1-1.html




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

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