鱼C论坛

 找回密码
 立即注册
查看: 2607|回复: 4

选择排序出错,怎么回事?

[复制链接]
发表于 2013-4-3 13:27:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>

select_sort(int arry[],int maxsize)
{
        int *mov_ptr=&arry[0];
        int i,j;
        int tmp;

        for(i=0;i<maxsize;i++)
                for(j=i+1;j<maxsize;j++)
                {
                        if(*mov_ptr > arry[j])
                        {
                                tmp=*mov_ptr;
                                *mov_ptr=arry[j];
                                arry[j]=tmp;                       
                        }
                        arry[i]=*mov_ptr;
                        mov_ptr=&arry[i+1];
                }
}

void main() {
        int i,j,arry[10]={9,8,7,6,5,4,3,2,1,0};

                for(i=0;i<10;i++)
                        printf("%d ",arry[i]);

                printf("\n"),select_sort(arry,10);

                for(j=0;j<10;j++)
                        printf("%d ",arry[j]);
}
捕获.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-4-3 18:18:26 | 显示全部楼层
请问楼主这条语句是干嘛用的哟?
 arry[i]=*mov_ptr;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-4-3 18:21:54 | 显示全部楼层
  //arry[i]=*mov_ptr;
   mov_ptr=&arry[i];
这是我在楼主基础上改的,能运行出正确的答案。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-4-3 18:30:37 | 显示全部楼层
小亮:
那是扫描完一次后,记录值;i=0时,a【0】-- 扫描后记录的最小值;{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-4-3 18:35:11 | 显示全部楼层
谢谢,是我想错了,扫完后要重置指针置错了;感恩无私的分享与奉献 :):D
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 14:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表