算法(一)選擇排序--蠻力算法的一種

       算法的核心:在一個可排序的有序列表中,在每一輪的循環中找出最小的元素並把他放在最終應該在的位置上,下一輪將從i+1開始搜索,直至所有的元素都在他應該在的位置時,程序結束。

        eg:

             89  45  68  90  29  34  17

    i=0    17 |45  68  90  29  34  89

    i=1    17  29 |68  90  45  34  89

    i=2    17  29  34 |90  45  68  89

    i=3   17  29  34  45 |90  68  89

    i=4    17  29  34  45  68 |90  89

    i=5   17  29  34  45  68  89 |90


 int i,j,temp,min;
        int A[] = {89,45,68,90,29,34,17};

        for(i = 0; i<A.length-1;i++){

            min = i;
            for(j = i+1; j< A.length; j++){

                if(A[min]>A[j]){

                    min = j;
                }
            }

            if(min != i){

                temp = A[min];
                A[min] = A[i];
                A[i] = temp;
            }
        }


Sometimes the questions are complicated and the answers are simple.​<^~^>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章