| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 564 人关注过本帖
标题:询问一个问题
只看楼主 加入收藏
bonawu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-11-14
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
询问一个问题
#include "stdio.h"

void selection_sort (int a[], int n)
{
    int i,j,k;
                    
    for (i=0; i<n; ++i)
    {  
        k=i;
        for (j=i+1; j<n; ++j)   
           if (a[k] >= a[j])
             {
                   k=j;
             printf ("j=%d\n",j);
             }
            
         printf ("j=%d\n",j);
            
           j=a[i];
           a[i]=a[k];   
           a[k]=j;   
   
    printf ("j=%d, a[i]=%d, a[k]=%d\n\n", j, a[i], a[k]);
   
    }
   
}


int main()
{
    int a[]={3,6,1}, i;
   
    selection_sort (a,3);
    for(i=0; i<3; ++i)
    printf ("%d", a[i]);
    return (0);
}
用笔在纸上如何求出这个结果?
搜索更多相关主题的帖子: include 
2011-11-14 18:34
bonawu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-11-14
收藏
得分:0 
不仅要结果  最重要的是过程~
2011-11-14 18:34
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:7 
选择排序的过程,每一次都是选出的当前最小数,明白思想之后你可以这么做:以i为一个单位,每次计算出一次i循环后的所有数的排列,一共三次
或者你也可以把每次有交换操作之后的排列都写出来,对比来看更直观

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-11-14 19:45
bonawu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-11-14
收藏
得分:0 
DOS的输出结果是:
j=2
j=3
j=3   a[i]=1   a[k]=3

j=2
j=3
j=6   a[i]=3   a[k]=6

j=3
j=6   a[i]=6   a[k]=6
如果用笔在纸上该如何算出这个步骤过程来?

2011-11-15 17:49
bonawu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-11-14
收藏
得分:0 
3-6 比较 3<6 不换顺序 361
3-1 比较 3>1 换顺序 163
6-3 比较 6>3 换顺序 136

我研究了半天就研究出了这个,但是DOS的那个输出过程我真不懂怎么回事~
2011-11-15 17:58
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:0 
我感觉函数里的输出没什么实际意义,只要知道它想做什么就好了。

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-11-15 21:21
zxc1989
Rank: 2
等 级:论坛游民
帖 子:15
专家分:45
注 册:2011-11-15
收藏
得分:7 
先看main函数,再看select函数,一步一步走下去就行了,遇到循环的也是一样的,一直循环,知道条件不成立为止,继续下一条语句
2011-11-15 21:47
装逼的小孩
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2011-11-16
收藏
得分:7 
先从调用的函数开始,看题目是要你干嘛的。
2011-11-16 09:26
快速回复:询问一个问题
数据加载中...
 
   



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

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