java插入排序 Insert sort實(shí)例
//直接插入排序
void DirectInsertionSort(int* arr, int nLen)
{
int i, j;
for (i=1; i<nLen; i++)
{
int temp = arr[i];
for (j=i-1; j>=0; j--)
{
if (temp < arr[j])
arr[j+1] = arr[j];
else
break;
}
if (j+1 != i)
arr[j+1] = temp; //注意這里是j+1
}
}
//折半插入排序
void BinaryInsertionSort(int* arr, int nLen)
{
int i, j;
int low, mid, high;
for (i=1; i<nLen; i++)
{
int temp = arr[i];
if (temp < arr[i-1])//這個(gè)判斷可不要
{
low = 0;
high = i-1;
while (low <= high) //error: while( low < high) 注意這里還需要 等號(hào)
{
mid = (low+high)/2;
if (temp < arr[mid])
high = mid - 1;
else
low = mid + 1;
}
//經(jīng)過(guò)上面的折半查找插入位置后,這時(shí)插入位置為low或者h(yuǎn)igh+1,這時(shí)low等于high+1
//for (j=i-1; j>=high+1; j--)
//{
// arr[j+1] = arr[j];
//}
//arr[high+1] = temp;
for (j=i-1; j>=low; j--)
{
arr[j+1] = arr[j];
}
arr[low] = temp;
}
}
}
- java 合并排序算法、冒泡排序算法、選擇排序算法、插入排序算法、快速排序算法的描述
- Java經(jīng)典排序算法之插入排序
- java直接插入排序示例
- Java經(jīng)典排序算法之二分插入排序詳解
- Java實(shí)現(xiàn)插入排序?qū)嵗?/a>
- Java 直接插入排序的三種實(shí)現(xiàn)
- Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:插入排序 Insertion Sort
- Java實(shí)現(xiàn)八個(gè)常用的排序算法:插入排序、冒泡排序、選擇排序、希爾排序等
- Java直接插入排序算法實(shí)現(xiàn)
- Java實(shí)現(xiàn)插入排序
相關(guān)文章
Springboot配置suffix指定mvc視圖的后綴方法
這篇文章主要介紹了Springboot配置suffix指定mvc視圖的后綴方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07springBoot使用openfeign來(lái)遠(yuǎn)程調(diào)用的實(shí)現(xiàn)
這篇文章主要介紹了springBoot使用openfeign來(lái)遠(yuǎn)程調(diào)用的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03java實(shí)現(xiàn)OpenGL ES紋理映射的方法
這篇文章主要介紹了java實(shí)現(xiàn)OpenGL ES紋理映射的方法,以實(shí)例形式較為詳細(xì)的分析了紋理映射的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-06-06JAVA中時(shí)間戳與LocalDateTime互相轉(zhuǎn)換代碼例子
最近在編碼過(guò)程中遇到將時(shí)間戳轉(zhuǎn)化為 LocalDateTime,所以這里給總結(jié)下,這篇文章主要給大家介紹了關(guān)于JAVA中時(shí)間戳與LocalDateTime互相轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下2023-11-11Java web三件套listener、filter、servelt原理解析
這篇文章主要介紹了Java web三件套listener、filter、servelt原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03SpringBoot中如何統(tǒng)一接口返回與全局異常處理詳解
全局異常處理是個(gè)比較重要的功能,一般在項(xiàng)目里都會(huì)用到,這篇文章主要給大家介紹了關(guān)于SpringBoot中如何統(tǒng)一接口返回與全局異常處理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09MybatisPlus調(diào)用原生SQL的三種方法實(shí)例詳解
這篇文章主要介紹了MybatisPlus調(diào)用原生SQL的三種方法,在有些情況下需要用到MybatisPlus查詢?cè)鶶QL,MybatisPlus其實(shí)帶有運(yùn)行原生SQL的方法,我這里列舉三種,需要的朋友可以參考下2022-09-09Java中的攔截器、過(guò)濾器、監(jiān)聽(tīng)器用法詳解
這篇文章主要介紹了Java中的攔截器、過(guò)濾器、監(jiān)聽(tīng)器用法,詳細(xì)分析了Java攔截器、過(guò)濾器、監(jiān)聽(tīng)器的功能、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-05-05