标题:请教高手:选择排序法和冒泡排序法的本质区别是什么啊?PS,我是新手,二者 ...
只看楼主
Alen0128
Rank: 4
等 级:业余侠客
帖 子:171
专家分:222
注 册:2009-12-26
结帖率:76.19%
已结贴  问题点数:10 回复次数:17 
请教高手:选择排序法和冒泡排序法的本质区别是什么啊?PS,我是新手,二者分不清
高手们给讲讲区别,下面是我自己看这边的,但还是分不清

冒泡:
#include <stdio.h>
int main()
{
    int i = 0;
    int j = 0;                                       
    int temp = 0;
    int num[10] = {0};

    for (i=0; i<9; i++)
    {
        scanf("%d",&num[i]);
    }

    for (j=1; j<9; j++)
    {
        for (i=0; i<9-j; i++)                                   {
            if (num[i]<num[i+1])
            {
                temp = num[i];
                num[i] = num[i+1];
                num[i+1] = temp;
            }
        }
    }

    for (i=0; i<9; i++)
    {
        printf("%4d",num[i]);
    }

    return 0;
}




选择:
#include <stdio.h>
#define N 10
int main()
{
    int num[N] = {0};
    int i = 0;
    int j = 0;
    int temp = 0;

    for (i=0; i<N; i++)
    {
        scanf("%d",&num[i]);
    }

    for (i=0; i<N-1; i++)
    {
        for (j=i+1; j<N; j++)
        {
            if (num[i]<num[j])
            {
                temp = num[j];
                num[j] = num[i];
                num[i] = temp;
            }
        }
    }

    for (i=0; i<N; i++)
    {
        printf("%4d",num[i]);
    }
   
    return 0;
}
搜索更多相关主题的帖子: 冒泡 法的本质 
2009-12-26 10:41
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
得分:2 
没有区别, 选择就是改进的  冒泡算法

我就是真命天子,顺我者生,逆我者死!
2009-12-26 10:53
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
得分:0 
你写的不对嘛, 亲

我就是真命天子,顺我者生,逆我者死!
2009-12-26 10:54
Alen0128
Rank: 4
等 级:业余侠客
帖 子:171
专家分:222
注 册:2009-12-26
得分:0 
回复 3楼 BlueGuy
哪个不对,麻烦指点一下,呵呵

-不想让你发现我 凌乱的脚步 ,我努力 跟上你的速度
2009-12-26 10:59
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
得分:0 
回复 4楼 Alen0128
那个 选择 写的 不标准, 看看书吧

我就是真命天子,顺我者生,逆我者死!
2009-12-26 11:07
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
得分:2 
一个是全部比较,一个是逐个比较
【转载了个错误的答复...爱母索瑞】

[ 本帖最后由 pgy 于 2009-12-26 12:29 编辑 ]

我可好玩啦...不信你玩玩^_^
2009-12-26 11:55
Alen0128
Rank: 4
等 级:业余侠客
帖 子:171
专家分:222
注 册:2009-12-26
得分:0 
回复 2楼 BlueGuy
那个选择排序法是不是  if语句错了?    书上的if语句是在第一个for循环里面,但我改了一下,编译能通过呀
   您能不能具体指出来呀,谢谢了

-不想让你发现我 凌乱的脚步 ,我努力 跟上你的速度
2009-12-26 12:13
Alen0128
Rank: 4
等 级:业余侠客
帖 子:171
专家分:222
注 册:2009-12-26
得分:0 
回复 6楼 pgy
你的选择排序法不对吧
第一趟下来,应该是32和5交换位置,即拍完第一趟后,应该为{5,84,16,32,8}吧

-不想让你发现我 凌乱的脚步 ,我努力 跟上你的速度
2009-12-26 12:22
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
得分:0 
回复 8楼 Alen0128
你不是知道了吗, 还写错了

我就是真命天子,顺我者生,逆我者死!
2009-12-26 12:23
Alen0128
Rank: 4
等 级:业余侠客
帖 子:171
专家分:222
注 册:2009-12-26
得分:0 
回复 9楼 BlueGuy
但是这样也行吧。。。。我觉着是,所以我改正了一下,呵呵

-不想让你发现我 凌乱的脚步 ,我努力 跟上你的速度
2009-12-26 13:01



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




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

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