排序是數(shù)據(jù)處理中十分常見且核心的操作,雖說實(shí)際項(xiàng)目開發(fā)中很小幾率會(huì)需要我們手動(dòng)實(shí)現(xiàn),畢竟每種語言的類庫中都有n多種關(guān)于排序算法的實(shí)現(xiàn)。但是了解這些精妙的思想對(duì)我們還是大有裨益的。本文簡單溫習(xí)下最基礎(chǔ)的三類算法:選擇,冒泡,插入。
先定義個(gè)交換數(shù)組元素的函數(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ù)元素中選擇最?。ɑ蜃畲螅┑囊粋€(gè)元素作為首元素
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式