排序是數(shù)據(jù)處理中十分常見且核心的操作,雖說實際項目開發(fā)中很小幾率會需要我們手動實現(xiàn),畢竟每種語言的類庫中都有n多種關(guān)于排序算法的實現(xiàn)。但是了解這些精妙的思想對我們還是大有裨益的。本文簡單溫習(xí)下最基礎(chǔ)的三類算法:選擇,冒泡,插入。
先定義個交換數(shù)組元素的函數(shù),供排序時調(diào)用
/** * 交換數(shù)組元素 * @param arr * @param a * @param b */ public static void swap(int []arr,int a,int b){ arr[a] = arr[a]+arr[b]; arr[b] = arr[a]-arr[b]; arr[a] = arr[a]-arr[b]; }
簡單選擇排序
簡單選擇排序是最簡單直觀的一種算法,基本思想為每一趟從待排序的數(shù)據(jù)元素中選擇最?。ɑ蜃畲螅┑囊粋€元素作為首元素
網(wǎng)友評論