python 发表于 2013-4-3 13:27:38

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

#include<stdio.h>

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

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

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

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

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

                for(j=0;j<10;j++)
                        printf("%d ",arry);
}

小亮1201 发表于 2013-4-3 18:18:26

请问楼主这条语句是干嘛用的哟? arry=*mov_ptr;

小亮1201 发表于 2013-4-3 18:21:54

//arry=*mov_ptr;
   mov_ptr=&arry;这是我在楼主基础上改的,能运行出正确的答案。

python 发表于 2013-4-3 18:30:37

小亮:
那是扫描完一次后,记录值;i=0时,a【0】-- 扫描后记录的最小值;{:1_1:}

python 发表于 2013-4-3 18:35:11

谢谢,是我想错了,扫完后要重置指针置错了;感恩无私的分享与奉献 :):D
页: [1]
查看完整版本: 选择排序出错,怎么回事?