排序常見,但是其思想很重要,而且在2分鐘之內完全寫對,不用除錯還需要進行深入理解才能到達這個要求:
對一般程式的要求:5行以內2min完成不用debug,100行內,2mindebug搞定。不要由於**基礎差而浪費時間在除錯上,真正思考的時間就沒了。
1、select排序
思想:從未排序的裡面選擇乙個最小的元素,與未排序的第乙個元素交換。
注意:注意判斷最小的數是第乙個的情況
void select(int *a, int n)
} if (minpos!=0)
}}
冒泡法:
思想:未排序的最大的元素放到未排序陣列的最後。
注意點:
1、排序的終止條件;
2、向後比較,及比較a[i]與a[i+1],最外層要從n-1開始
3、最外層的迴圈是從後向前的。
void bubble(int *a,int n)
} }}
插入排序:
思想:從未排序的的陣列中的第乙個元素插入到已排序的陣列中。一共有兩個動作1、找到位置2、如果不是合適的位置就swap向後移動
注意點:
void insert( int *a,int n)
} }}
各種排序演算法及其C 實現
基本思想 每次將乙個待排序的資料元素,插入到前面已經排好序的數列中的適當位置,使數列依然有序 直到待排序資料元素全部插入完為止。基本思想 每一趟從待排序的資料元素中選出最小 或最大 的乙個元素,順序放在已排好序的數列的最後,直到全部待排序的資料元素排完為止。基本思想 兩兩比較待排序資料元素的大小,發...
python各種問題及注意點總結
1引數解析的新增子命令import argparse 首先定義兩個不同的函式 def a x return x def b x return x parser argparse.argumentparser 獲得乙個主直譯器 subparser parser.add subparsers dest ...
邊框border相關屬性以及其他注意點
一 邊框 border 單獨設定 border top 邊框的寬度 邊框的線型 顏色 順序可以隨便調 border bottom border left border right 線型實線 solid 虛線 dashed 雙線 double 點狀線dotted 全邊框設定 border 邊框的寬度 ...