4月26 排序演算法

2021-09-01 17:08:30 字數 1189 閱讀 6019

今天的任務:簡單的學習了  氣泡排序演算法、選擇排序演算法

一、氣泡排序演算法的基本概念是:依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。至此第一趟結束,將最大的數放到了最後。在第二趟:仍從第一對數開始比較(因為可能由於第2個數和第3個數的交換,使得第1個數不再小於第2個數),將小數放前,大數放後,一直比較到倒數第二個數(倒數第一的位置上已經是最大的),第二趟結束,在倒數第二的位置上得到乙個新的最大數(其實在整個數列中是第二大的數)。如此下去,重複以上過程,直至最終完成排public class maopaosort ;

int temp;

// 從此乙個位開始迴圈陣列

for (int i = 0; i < arr.length-1; i++)

}system.out.print(arr[i]);

}system.out.print("氣泡排序:");

for(int i = 0;i執行結果 : 

選擇排序:1 2 3 4 5 8 9 10 

二、選擇排序演算法:搜尋整個值列,以找到最小值。將該值與值列中第乙個位置上的值進行交換。搜尋剩下的值列(第乙個除外),以找到其中的最小值,然後將其與值列中第二個位置上的值進行交換。對值列中的每個位置重複該過程。在演算法結束時,就完成了對值列的排序。

public class selectionscor;

int temp;

/* * 迴圈整個陣列(其實這裡的上界為 arr.length - 1 即可,因為當 i= array.length-1

* 時,最後乙個元素就已是最大的了,如果為array.length時,內層迴圈將不再迴圈),每輪假設

* 第乙個元素為最小元素,如果從第一元素後能選出比第乙個元素更小元素,則讓讓最小元素與第一 個元素交換

*/ for (int i = 0; i < arr.length; i++)

}//交換位置

temp = arr[i];

arr[i] = arr[lowindex];

arr[lowindex] = temp;

}system.out.print("選擇排序:");

for(int i=0;i執行結果 : 

選擇排序:1 2 3 4 5 8 9 10 

JS演算法4 排序 堆排序

堆 是乙個近似完全二叉樹的結構,並同時滿足堆積的性質 即子結點的鍵值或索引總是小於 或者大於 它的父節點。堆排序 是指利用堆這種資料結構所設計的一種排序演算法 heapinsert arr,index 增大堆結構 先建立大根堆,這是乙個往上走的過程,進來的元素與父元素比,大了就往上走,此時陣列仍為無...

演算法分析(4) 排序 歸併排序

3 自底向上的歸併排序 less和exch可以檢視上一章 演算法分析 3 簡單排序總結 選擇,插入,希爾含 comparable介面 歸併採用分治法 divide and conquer 的乙個非常典型的應用。將已有序的子串行合併,得到完全有序的序列 即先使每個子串行有序,再使子串行段間有序。若將兩...

演算法 排序1 排序

題目 給定n個 長整型範圍內的 整數,要求輸出從小到大排序後的結果。本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下 輸入第一行給出正整數n 10 5 隨後一行給出n個 長整型範圍內的 整數,其間以空格分隔。在一行中輸出從小到大排序後的結果,數字間以1個空格分隔,行末不得...