国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

排序算法和查找算法

2019-11-09 18:41:37
字體:
供稿:網(wǎng)友

1.排序的方法: (1)冒泡排序(經(jīng)典的自定義排序):

算法: 1). 若有n個(gè)數(shù)排序,必須兩兩比較(相鄰的兩個(gè)數(shù))n-1輪----控制外圍的for循環(huán) 2).每一輪比較的次數(shù) = n-當(dāng)前的輪數(shù)-----控制里面的for循環(huán) 3).每一輪比較完成后,都會(huì)獲得當(dāng)前輪中的最小數(shù), 也就是說,比如: 第一輪比較后,會(huì)獲得所有數(shù)中的最小(大)數(shù) 第二輪比較后,會(huì)獲得所有數(shù)中的第二小(大)的數(shù) ......(依次類推) 程序: for(int i = 0;i < arr.length - 1;i++){ //外層:控制輪數(shù) for(int j = 0;j < arr.length - 1 - i;j++){ if(isAsc ? arr[j+1] < arr[j] : arr[j+1] > arr[j]){ temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp; } } }

(2)系統(tǒng)自定義的排序—java.util.Arrays Arrays.sort(arr, new Comparator(){ //T的類型要和前面arr數(shù)組的類型相同(不能是值類型,要用包裝類型,如:Integer) //重寫compara方法 /** 排序的技巧,可以這么記: 1.若要排升序,就用o1 - o2 2.若要排降序,就用o2 - o1 */ }); (3)選擇排序 算法: 第一輪:默認(rèn)第一個(gè)是最小的,然后開始比較,碰到比第一個(gè)小的就把當(dāng)前的位置標(biāo)記為最小,直 至到最后一個(gè)元素,則找到了最小的元素,然后把第一個(gè)元素和當(dāng)前最小的的元素互換位置。 第二輪:默認(rèn)第二個(gè)元素是最小的,然后……… 程序: for(int i = 0;i < arr.length - 1;i++){ //做第i趟排序 int k = i; for(int j = k + 1;j < arr.length;j++){ //選最小的記錄 if(arr[j] < arr[k]){ k = j; //記錄目前找到的最小值所在的位置 } } if(i != k){ //交換arr[i]和arr[k] int temp = arr[i];arr[i] = arr[k];arr[k] = temp; } } (4)插入排序 算法: 從數(shù)組的第一個(gè)元素a[0]開始,將其后一個(gè)元素a[1]插入到a[0]的前面或者后面,接著繼續(xù)這一過程。每次都是 將a[i]插入到已經(jīng)排序好的 程序: for (int i = 1; i < a.length - 1 ; i++) { for (int j = i; j > 0; j–) { if (a[j] < a[j - 1]) { int temp = a[j]; a[j] = a[j - 1]; a[j - 1] = temp; } else { break; } } } 2.數(shù)組中元素的查找 (1)順序查找(”窮舉法”) 遍歷數(shù)組,從數(shù)組中第一個(gè)元素開始查找。最簡(jiǎn)單,平均效率低。 如:查找一個(gè)數(shù)組中,所有等于num這個(gè)數(shù)的下標(biāo) int[] founded = new int[arr.length]; //存儲(chǔ)num在原數(shù)組arr中出現(xiàn)的下標(biāo),最多arr.length個(gè) for(int i = 0;i < founded.length;i++){ founded[i] = -1; //默認(rèn)的是將founded數(shù)組的所有元素都置-1; } int count = arr.length; //定義一個(gè)變量,記錄founded中值為-1的總個(gè)數(shù) for(int i = 0;i < arr.length;i++){ //窮舉查找 if(arr[i] == num){ founded[i] = i; count–; } } return count


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 吉水县| 都江堰市| 麟游县| 峨山| 婺源县| 泾源县| 连城县| 阿图什市| 乡宁县| 陇川县| 晋中市| 大渡口区| 东丰县| 余干县| 永丰县| 瑞金市| 建水县| 甘谷县| 大渡口区| 连江县| 玛多县| 巩义市| 和田市| 齐齐哈尔市| 惠东县| 来宾市| 恭城| 温州市| 茂名市| 华宁县| 教育| 长丰县| 英山县| 佛山市| 法库县| 炎陵县| 桦南县| 治县。| 南乐县| 牟定县| 南乐县|