了解了插入排序,一般插入排序是這樣的
class array1
; list(a);
selectsort(a);
list(a);
}public
static
void
selectsort(int arr) }}
}public
static
void
list(int arr)
system.out.println();}}
}
這樣雖然比較簡單,但是效率不是很高,如果y的值比x值小就交換一次,如果後面還有比x小的,還需要交換,這樣效率不高。可以先比較內層迴圈最小的值是哪乙個,再跟最小的交換就可以了。
class array1 ;
print(a);
selectsort(a);
print(a);
}
public
static
void
selectsort(int arr)
}if (i!=x) }}
public
static
void
print(int arr)
system.out.println();
}}
插入排序優化
插入排序的是十分常見的o n 2 級別的排序演算法,其排序思路如下 一次迴圈使前n個數都為有序,巢狀的二次迴圈將第n個數插入到前n個數中合適的位置,我的實現 如下 public void insertsort int a,int n else 這個插入排序相對於選擇排序有可以提前結束一層迴圈的特點,...
插入排序的測試及優化
關於o n 2 的排序演算法中,插入排序是不得不提的一種。相比較於氣泡排序,選擇排序這些真正的o n 2 演算法,插入演算法在一些情況下的效能會比一些高階排序演算法如歸併排序,快速排序更加高效,而這些情況我們會在下面的一些情況中進行討論。首先,既然要寫乙個插入排序演算法,我們第乙個要做的自然是理解插...
插入排序 python實現及優化
原理 通過構建有序序列,對於未排序的資料,在已排序的序列中,從後向前掃瞄,找到相應位置並插入。python實現步驟 1 預設把第乙個元素看作有序序列。2 從第二個元素開始遍歷,依次將元素與上乙個元素比較,如果小於,則將上乙個元素向後挪乙個位置 如果相等,位置想對不變。3 繼續與上上乙個位置的元素比較...