《C语言程序开发范例宝典-2015-杨丽》-实例123-选择排序
发表在C语言图书答疑 2017-09-20 《C语言从入门到精通(第3版)》第2章 算法
是否精华
版块置顶:

选择排序随书代码如下:

#include <stdio.h>

main()

{

    int i, j, t, a[11]; /*定义变量及数组为基本整型*/

    printf("please input 10 numbers:\n");

    for (i = 1; i < 11; i++)

        scanf("%d", &a[i]); /*从键盘中输入要排序的10个数字*/

    for (i = 1; i <= 9; i++)

        for (j = i + 1; j <= 10; j++)

            if (a[i] > a[j]) /*如果后一个数比前一个数大则利用中间变量t实现俩值互换*/

    {

        t = a[i];

        a[i] = a[j];

        a[j] = t;

    }

    printf("the sorted numbers:\n");

    for (i = 1; i <= 10; i++)

        printf("%5d", a[i]); /*将排好序的数组输出*/

}

请问这个是选择排序吗?明明就是冒泡排序好不好!!

参照CSDN网站:http://bbs.csdn.net/topics/250021950

选择排序跟冒泡排序是不一样的,代码如下:


#include <iostream.h>

//冒泡

void BubbleSort(int* pData,int Count)

{

    int iTemp;

    for(int i=1;i<Count;i++)

    {

        for(int j=Count-1;j>=i;j--)

        {

            if(pData[j]<pData[j-1])

            {

                iTemp = pData[j-1];

                pData[j-1] = pData[j];

                pData[j] = iTemp;

            }

        }

    }

}


void main()

{

    int data[] = {10,9,8,7,6,5,4};

    BubbleSort(data,7);

    for (int i=0;i<7;i++)

        cout<<data[i]<<" ";

    cout<<"\n";

}

//----------------------------------------------------


#include <iostream.h>

//选择排序

void SelectSort(int* pData,int Count)

{

    int iTemp;

    int iPos;

    for(int i=0;i<Count-1;i++)

    {

        iTemp = pData[i];

        iPos = i;

        for(int j=i+1;j<Count;j++)

        {

            if(pData[j]<iTemp)

            {

                iTemp = pData[j];

                iPos = j;

            }

        }

        pData[iPos] = pData[i];

        pData[i] = iTemp;

    }

}


void main()

{

    int data[] = {10,9,8,7,6,5,4};

    SelectSort(data,7);

    for (int i=0;i<7;i++)

        cout<<data[i]<<" ";

    cout<<"\n";

}

亲,我说的没错吧,

分享到:
精彩评论 2
大米粥
学分:1330 LV8
TA的每日心情
伤心
2017-05-02 10:51:31
2017-09-21
沙发

说得对,上面的是冒泡排序

zer0_1499414293
学分:77 LV3
2017-09-25
板凳

只能说教程的编写态度太差,错误不是一般的少。。。

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照