Java資料結構與演算法之陣列排序 插入

2021-07-05 13:55:42 字數 593 閱讀 5838

a,對於隨機順序的資料進行插入排序需要o(n2)的時間

b,當資料有序的時候,演算法執行需要o(n)時間

c,當資料基本有序的時候,演算法幾乎只需要o(n)時間

2)不變性

比outer變數下標號小的資料項都是區域性有序的。

3)思路

a)設定乙個outer標籤,用於表示其左邊的元素已經排好,初始位置為1。每經過一次迴圈,outer加1直到陣列的最右端即末尾。

b)設定乙個臨時變數temp,用來儲存待插入的資料,即outer指向的資料。

c)設定乙個in標籤,主要是用來確定具體插入outer左邊哪乙個位置。其判斷的思路是,當in>0且它前乙個值大於或等於臨時變數temp時,就將該位置及以後的元素向右邊移動,空出來的位置插入該元素。

原始碼示例

/**

* 排序陣列,用於對陣列進行排序

* 採用插入排序

*/public

void

insertsort()

randomarray[in] = temp;

}}

其餘**見如下傳送門

傳送門

資料結構與演算法之陣列

陣列的基本概念 陣列是最簡單最常用的資料結構,但是也有一些注意事項 1 陣列的分配方式以及儲存位置 2 初始化 3 不同語言中的陣列高階定義 4 多維陣列 c c 中陣列分配方式 1 int a 10 適用於陣列長度已知或者對陣列長度不敏感的情況,比如定義乙個字串。2 int a int mallo...

資料結構與演算法之陣列

1 陣列的定義 陣列是相同型別資料的有序集合。他描述的是相同型別的若干個資料,按照一定先後順序排列組合而成,當中每乙個資料稱為元素,要訪問元素可以通過他的索引 下標去訪問他 2 陣列的幾個基本要素 1 陣列一旦被建立,其大小是不可以改變的,也就是長度是確定的 2 元素型別是相同型別 3 陣列型別可以...

java資料結構之陣列

首先定義乙個陣列類class myarray 空參構造時預設是長度為3的陣列 public myarray int maxsize 有參構造時引數為陣列長度 接下來是對陣列的插入 public void insert int a 然後是對陣列的刪除 public void delete int in...