排序演算法原理以及實現

2021-08-28 15:24:20 字數 1024 閱讀 7519

/*

* 1.第乙個元素開始,假設第乙個元素已排序

* 2.取下乙個元素temp_val,在已排序的區間從後往前掃瞄,如果大於temp_val,則往後移

* 3.直到小於的時候,將其後一位置為temp_val即可

* 4.重複n-1次2、3步驟

*///三個引數目的是為了,排序某個區間

void insertion_sort(vectorarray, int first,int last)

array[j+1] = temp_val; //到已排序小於temp_val,則下一位為tem_val的位置

}}

二分插入排序

/*

* 1.第乙個元素開始,假設第乙個元素已排序

* 2.取下乙個元素temp_val,在已排序的區間二分查詢,如果mid的值大於等於temp_val,則right=mid,反之left = mid

* 3.直到rightarray, int first,int last)

//後移,為temp_val騰出空間

for(int j = i-1; j>left; j--)

array[j+1] = array[j];

array[left] = temp_val; //到已排序小於temp_val,則下一位為tem_val的位置

}}

void quick_sort(vectorarray, int left, int right)  

}array[left] = a[i]; //將最中間的數值與基準交換位置

array[i] = temp;

quick_sort(array, left, i-1);     //對標準值左半部遞迴呼叫本函式  

quick_sort(array, i+1, right);    //對標準值右半部遞迴呼叫本函式  

}  }

簡單的桶排序原理以及實現

今天學習的演算法,簡單桶排序。這遠遠稱不上桶排序演算法 所謂桶排序,就是將每個輸入的數放入它對應的桶中,最後再按照桶的順序從小到大或從大到小去逐一倒出來,這樣就實現桶排序了。下面我舉個例子,我要排範圍0 10的15個數。1 include 2 3using namespace std 45 intm...

PCA演算法的原理以及c 實現

pca主成分分析,是模式識別中常見的特徵降維的演算法,其大體步驟可以分為以下幾個部分 1 原始特徵矩陣歸一化處理 假設m和樣本,每個樣本n個特徵,則對m n的x資料,進行零均值化,即減去這一列的均值 2 求取歸一化處理後特徵矩陣的協方差矩陣 3 計算協方差矩陣的特徵值及其對應的特徵向量 4 將特徵向...

排序演算法 選擇排序原理及Java實現

選擇排序是一種簡單直觀的排序演算法,其基本原理如下 對於給定的一組記錄,經過第一輪比較後得到最小的記錄,然後將該記錄的位置與第乙個記錄的位置交換 接著對不包括第乙個記錄以外的其他記錄進行第二次比較,得到最小記錄並與第二個位置記錄交換 重複該過程,知道進行比較的記錄只剩下乙個為止。從簡單選擇排序的過程...