JAVA算法起步之插入排序?qū)嵗?/h1>
更新時間:2014年02月10日 15:19:47 作者:
這篇文章主要介紹了JAVA算法起步之插入排序?qū)嵗?需要的朋友可以參考下
趁著過年這段時間,我將算法導(dǎo)論這本書看了一遍,感覺受益匪淺。著這里也根據(jù)算法導(dǎo)論中所涉及到的算法用java實現(xiàn)了一遍。
第一篇我們就從排序開始,插入排序的原理很簡單,就像我們玩撲克牌時一樣。如果手里拿的牌比他前一張小,就繼續(xù)向前比較,知道這張牌比他前面的牌打時候就可以插在他的后面。當(dāng)然在計算機中我們相應(yīng)的也需要將對比過的牌向后移一位才可以。
這里直接給出算法,相信很多程序員都感覺有些程序比我們的自然語言都要好理解。
復(fù)制代碼 代碼如下:
public class Sort {
public void sort(int[] s){
if(s.length<1){
return ;
}
for (int i = 1; i < s.length; i++) {
int key =s[i];
int j=i-1;
while(j>=0&&s[j]>key){
s[j+1]=s[j];
j--;
}
s[j+1]=key;
}
}
public static void main(String[] args) {
Sort s=new Sort();
int[] st =new int[]{7,5,3,4,2,1};
s.sort(st);
for (int i = 0; i < st.length; i++) {
System.out.println(st[i]);
}
}
}
他的時間復(fù)雜度是o(n*n),是原址的(任何時候都需要常數(shù)個二外的元素空間存儲數(shù)據(jù)而歸并排序就是非原址的)
您可能感興趣的文章:- Java算法之?dāng)?shù)組冒泡排序代碼實例講解
- Java算法之串的簡單處理
- Java算法實現(xiàn)調(diào)整數(shù)組順序使奇數(shù)位于偶數(shù)之前的講解
- Java算法實現(xiàn)楊輝三角的講解
- Java算法之冒泡排序?qū)嵗a
- Java算法之最長公共子序列問題(LCS)實例分析
- java算法實現(xiàn)紅黑樹完整代碼示例
- Java算法之堆排序代碼示例
- java算法之二分查找法的實例詳解
- java算法導(dǎo)論之FloydWarshall算法實現(xiàn)代碼
- java算法實現(xiàn)預(yù)測雙色球中獎號碼
- Java算法之遞歸算法計算階乘
- JAVA算法起步之堆排序?qū)嵗?/a>
- JAVA算法起步之快速排序?qū)嵗?/a>
- 關(guān)于各種排列組合java算法實現(xiàn)方法
- Java算法之時間復(fù)雜度和空間復(fù)雜度的概念和計算
相關(guān)文章
-
SpringBoot @Validated注解實現(xiàn)參數(shù)分組校驗的方法實例
這篇文章主要給大家介紹了關(guān)于SpringBoot @Validated注解實現(xiàn)參數(shù)分組校驗的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧 2020-09-09
-
Collection中的size()和isEmpty()區(qū)別說明
這篇文章主要介紹了Collection中的size()和isEmpty()區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教 2022-02-02
-
mybatis 連接mysql數(shù)據(jù)庫 tinyint 為boolean類型詳解
這篇文章主要介紹了mybatis 連接mysql數(shù)據(jù)庫 tinyint 為boolean類型詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 2020-11-11
-
SpringCloud Ribbon與OpenFeign詳解如何實現(xiàn)服務(wù)調(diào)用
這篇文章主要介紹了SpringCloud Ribbon與OpenFeign實現(xiàn)服務(wù)調(diào)用的過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧 2022-09-09
-
java實現(xiàn)6種字符串?dāng)?shù)組的排序(String array sort)
這篇文章主要介紹了java實現(xiàn)6種字符串?dāng)?shù)組的排序(String array sort),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧 2020-01-01
-
Spring框架開發(fā)scope作用域分析總結(jié)
這篇文章主要介紹了Spring框架開發(fā)中scope作用域的分析總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪 2021-09-09
最新評論
趁著過年這段時間,我將算法導(dǎo)論這本書看了一遍,感覺受益匪淺。著這里也根據(jù)算法導(dǎo)論中所涉及到的算法用java實現(xiàn)了一遍。
第一篇我們就從排序開始,插入排序的原理很簡單,就像我們玩撲克牌時一樣。如果手里拿的牌比他前一張小,就繼續(xù)向前比較,知道這張牌比他前面的牌打時候就可以插在他的后面。當(dāng)然在計算機中我們相應(yīng)的也需要將對比過的牌向后移一位才可以。
這里直接給出算法,相信很多程序員都感覺有些程序比我們的自然語言都要好理解。
public class Sort {
public void sort(int[] s){
if(s.length<1){
return ;
}
for (int i = 1; i < s.length; i++) {
int key =s[i];
int j=i-1;
while(j>=0&&s[j]>key){
s[j+1]=s[j];
j--;
}
s[j+1]=key;
}
}
public static void main(String[] args) {
Sort s=new Sort();
int[] st =new int[]{7,5,3,4,2,1};
s.sort(st);
for (int i = 0; i < st.length; i++) {
System.out.println(st[i]);
}
}
}
他的時間復(fù)雜度是o(n*n),是原址的(任何時候都需要常數(shù)個二外的元素空間存儲數(shù)據(jù)而歸并排序就是非原址的)
- Java算法之?dāng)?shù)組冒泡排序代碼實例講解
- Java算法之串的簡單處理
- Java算法實現(xiàn)調(diào)整數(shù)組順序使奇數(shù)位于偶數(shù)之前的講解
- Java算法實現(xiàn)楊輝三角的講解
- Java算法之冒泡排序?qū)嵗a
- Java算法之最長公共子序列問題(LCS)實例分析
- java算法實現(xiàn)紅黑樹完整代碼示例
- Java算法之堆排序代碼示例
- java算法之二分查找法的實例詳解
- java算法導(dǎo)論之FloydWarshall算法實現(xiàn)代碼
- java算法實現(xiàn)預(yù)測雙色球中獎號碼
- Java算法之遞歸算法計算階乘
- JAVA算法起步之堆排序?qū)嵗?/a>
- JAVA算法起步之快速排序?qū)嵗?/a>
- 關(guān)于各種排列組合java算法實現(xiàn)方法
- Java算法之時間復(fù)雜度和空間復(fù)雜度的概念和計算
相關(guān)文章
SpringBoot @Validated注解實現(xiàn)參數(shù)分組校驗的方法實例
這篇文章主要給大家介紹了關(guān)于SpringBoot @Validated注解實現(xiàn)參數(shù)分組校驗的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Collection中的size()和isEmpty()區(qū)別說明
這篇文章主要介紹了Collection中的size()和isEmpty()區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02mybatis 連接mysql數(shù)據(jù)庫 tinyint 為boolean類型詳解
這篇文章主要介紹了mybatis 連接mysql數(shù)據(jù)庫 tinyint 為boolean類型詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11SpringCloud Ribbon與OpenFeign詳解如何實現(xiàn)服務(wù)調(diào)用
這篇文章主要介紹了SpringCloud Ribbon與OpenFeign實現(xiàn)服務(wù)調(diào)用的過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09java實現(xiàn)6種字符串?dāng)?shù)組的排序(String array sort)
這篇文章主要介紹了java實現(xiàn)6種字符串?dāng)?shù)組的排序(String array sort),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01Spring框架開發(fā)scope作用域分析總結(jié)
這篇文章主要介紹了Spring框架開發(fā)中scope作用域的分析總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2021-09-09