選擇排序中交換資料的不同方式出現的不同結果

bug不存在的發表於2021-10-18

//選擇排序,升序

void main()

{

    int i,min,j,t;

    int a[5]={5,3,4,21,2};

    for(i=0;i<4;i++)

    {

        min=i;//預設此時的a[i]最小

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

        {

            if(a[min]>a[j])

            {

                min=j;

            }

        }

        if(min!=i)//找到了可以交換的數

        {

            min=a[i];//無t是5,21,2,3,4;有t是-85899346021234;用t來交換是234521

            a[i]=a[min];

            a[min]=min;

        }

    }

    for(i=0;i<5;i++)

    {

        printf("%d,",a[i]);

    }

}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70007877/viewspace-2837861/,如需轉載,請註明出處,否則將追究法律責任。

相關文章