常見有氣泡排序,選擇排序,插入排序,直接排序
1.氣泡排序
(1)原理:
1、從第乙個資料開始,與第二個資料相比較,如果第二個資料小於第乙個資料,則交換兩個資料的位置。
2、指標由第乙個資料移向第二個資料,第二個資料與第三個資料相比較,如果第三個資料小於第二個資料,則交換兩個資料的位置。
3、依此類推,完成第一輪排序。第一輪排序結束後,最大的元素被移到了最右面。
4、依照上面的過程進行第二輪排序,將第二大的排在倒數第二的位置。
5、重複上述過程,沒排完一輪,比較次數就減少一次。
**如下
private
static
void
arrarysort1
(int[
] arr)}}
}
2.選擇排序
1)原理:
1、從第乙個元素開始,分別與後面的元素向比較,找到最小的元素與第乙個元素交換位置;
2、從第二個元素開始,分別與後面的元素相比較,找到剩餘元素中最小的元素,與第二個元素交換;
3、重複上述步驟,直到所有的元素都排成由小到大為止。
**如下
private
static
void
reversearray
(int[
] arr)}if
(j!=k)
}}
3.插入排序
插入排序是簡單排序中最快的排序演算法,比氣泡排序和選擇排序快很多。
(1)原理:
1、將指標指向某個元素,假設該元素左側的元素全部有序,將該元素抽取出來,然後按照從右往左的順序分別與其左邊的元素比較,遇到比其大的元素便將元素右移,直到找到比該元素小的元素或者找到最左面發現其左側的元素都比它大,停止;
2、此時會出現乙個空位,將該元素放入到空位中,此時該元素左側的元素都比它小,右側的元素都比它大;
3、指標向後移動一位,重複上述過程。每操作一輪,左側有序元素都增加乙個,右側無序元素都減少乙個。
**如下
public
void
doinsertsort()
array[leftindex+1]
= temp;
//把temp放到空位上}}
}
4.直接排序
(1)原理
直接找到最小的值放在第一位,如陣列,
5跟2比較,2小,放2在第一位,然後2和7比較,2小,不變,再2跟1比較,1小,放1在第一位,陣列變位
然後從第二位開始,5跟7比較,5小,不變,再5跟2比較,2小,放2在第二位,最排序完成
**如下
private
static
void
reversearray
(int[
] arr)}}
}
java陣列排序
public void sortdropitems listdropitemvos collections.sort dropitemvos,comparator 正序 collections.reverse challengepeoplevos 倒序 按兩個元素排序 private static ...
java陣列排序
1 選擇排序 利用原理是 從第0個下標開始進行比較和較大的數進行換位 借用第三方變數 第一次比較完後,從第1個小標開始進行比較和較大的數進行換位 借用第三方變數 特點 第一次都比較完後,最小的數出現在了0下標位置上巢狀的for來完成 2 氣泡排序 相鄰兩個資料進行比較,根據結果換位 兩種排序示意圖 ...
Java 陣列排序
對陣列進行排序的演算法大致有冒泡 選擇 插入和希爾排序。在這篇文章中我們將依次介紹這些演算法的原理以及實現。package org.idcn.jse public class sortall system.out.println 氣泡排序的結果 maopao i 氣泡排序 public static...