中心思想: 通過一次遍歷後,將最小的元素放到「前面」,以此類推(在遍歷過程中記錄位置的是下標索引)
//**************** 選擇排序 *********************
#include
using
namespace std;
template
<
typename t>
void
selectsort
(t arr,
int n)
swap
(arr[i]
,arr[minindex]);
}}intmain()
;int len =
sizeof
(arr)
/sizeof
(arr[0]
);selectsort
(arr,len)
;for
(int i =
0;i < len;i++
)}
中心思想: 乙個元素和它前面的所有元素比大小,通過相鄰位置的元素交換來調整位置
********** 插入排序 ***********
#include
using
namespace std;
template
<
typename t>
void
insertsort_timelong
(t arr,
int n)}}
template
<
typename t>
void
insertsort_timeshort
(t arr,
int n)
arr[j]
= e;}}
intmain()
;int len =
sizeof
(arr)
/sizeof
(arr[0]
);// insertsort_timelong(arr,len);
insertsort_timeshort
(arr,len)
;for
(int i =
0;i < len;i++
)}
插入排序 選擇排序
插入排序 有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法 插入排序法 插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,時間複雜度 為o...
演算法 插入排序與選擇排序
一 插入排序 1 直接插入排序是一種簡單的插入排序法,其基本思想是 把待排序的記錄按其關鍵碼值的大小逐個插入到一 個已經排好序的有序序列中,直到所有的記錄插入完為止,得到乙個新的有序序列 思想十分簡單,演算法實現如下 直接插入排序 越有序插入越快 將每乙個數與前面所有排好序的數字相比較,如果大了 直...
排序 選擇排序 插入排序
選擇排序應該說是最簡單的排序演算法,它的核心思想是不斷地選擇剩餘元素中最小者。選擇排序的過程是 首先,找到陣列中最小的元素,然後將它與陣列中的第乙個元素交換位置 如果第乙個元素是最小的元素,則和自己交換 接著,從剩下的元素中找到最小的元素,將它與陣列中的第二個元素交換位置。如此往復,直到將整個陣列排...