java排序代碼
1. java排序循環代碼
import java.util.*;
public class Test {
public static void main(String[] args) {
int [] aa={8,9,6,3,4,6,7};
Arrays.sort(aa);
for(int i=0;i<aa.length;i++){
System.out.print(aa[i] + " ");}
}
}
2. java 數組排序代碼注釋
第一行:輸出括弧內引號中的內容;第二行:sc應該是你上面定義的一個Scanner掃描器,這行的作用就是將從控制台輸入的內容存儲到一個字元串str中;第三行:以逗號作為分隔符,將str里的內容分割存放到數組array1中:第四行:用for循環歷遍array1數組中的每一個元素:第六行:將歷遍到的每一個元素轉換成int型的數據類型存放到a1這個變數中;第七行:將上一步獲得的值a1存放到max變數,將i的值存放到index變數;第八行:用for循環歷遍array1數組中的所有元素;第九行:將array1中的第2個元素後的每一個元素的值存放到a2變數中,如果a2比max的值大,則將a2的值傳給max,將j的值傳給index(其實這里就是將數組中的第N個元素和第N-1個元素進行比較大小的操作,並將比較大的值那個數的值傳給max變數,直到最後找到一個最大值),後面幾行是用for循環輸出數組中的元素。你這里定義了index應該是用來進行冒泡排序的,但你卻沒用到,所以你的這段代碼是沒法實現排序的功能,修改一下就行了。。。
3. 請用java語言編寫排序程序。
importjava.util.Date;
publicclassSortThread{
publicstaticvoidmain(String[]args){
//產生一個隨機數組
int[]ary=getArray();
//啟動冒泡排序線程
newThread(newMaoPao(ary)).start();
//啟動快速排序線程
newThread(newKuaiSu(ary)).start();
}
privatestaticint[]getArray(){
//建議數字n不要超過1百萬,十萬左右就好了
intn=(int)(Math.random()*1000000)+11;
int[]ary=newint[n];
System.out.println("n的值是"+n);
for(inti=0;i<ary.length;i++){
ary[i]=(int)(Math.random()*100000);
}
returnary;
}
}
//冒泡排序
classMaoPaoimplementsRunnable{
int[]ary;
publicMaoPao(int[]ary){
this.ary=ary;
}
@Override
publicvoidrun(){
longst=System.currentTimeMillis();
System.out.println(newDate()+"冒泡排序線程:開始執行排序");
for(inti=0;i<ary.length-1;i++){
for(intj=0;j<ary.length-i-1;j++){
if(ary[j]<ary[j+1]){
inttemp=ary[j];
ary[j]=ary[j+1];
ary[j+1]=temp;
}
}
}
longet=System.currentTimeMillis();
System.out.println(newDate()+"冒泡排序線程完成排序,耗費時間"+(et-st)+"毫秒");
for(inti=0;i<ary.length;i++){
System.out.println(ary[i]+"");
}
}
}
//快速排序
classKuaiSuimplementsRunnable{
int[]ary;
publicKuaiSu(int[]ary){
this.ary=ary;
}
@Override
publicvoidrun(){
longst=System.currentTimeMillis();
System.out.println(newDate()+"快速排序線程:開始執行排序");
quickSort(ary,1,ary.length);
longet=System.currentTimeMillis();
System.out.println(newDate()+"快速排序線程排序完成,耗費時間"+(et-st)+"毫秒");
for(inti=0;i<ary.length;i++){
System.out.println(ary[i]+"");
}
}
publicstaticintPartition(inta[],intp,intr){
intx=a[r-1];
inti=p-1;
inttemp;
for(intj=p;j<=r-1;j++){
if(a[j-1]<=x){
i++;
temp=a[j-1];
a[j-1]=a[i-1];
a[i-1]=temp;
}
}
temp=a[r-1];
a[r-1]=a[i+1-1];
a[i+1-1]=temp;
returni+1;
}
publicstaticvoidquickSort(inta[],intp,intr){
if(p<r){
intq=Partition(a,p,r);
quickSort(a,p,q-1);
quickSort(a,q+1,r);
}
}
}
4. java程序排序
自己寫的三種傳統排序法。快排法主要是自己也沒怎麼搞明白……
(你可以建數組來存數據,就不寫完整的了。)
public void insert(int[] a3) {//插入排序法
// TODO Auto-generated method stub
System.out.println("插入法");
int temper=0;
for(int i=1;i<a3.length;i++){
for(int j=i;j>0;j--){
if(a3[j]<a3[j-1]){
temper=a3[j];
a3[j]=a3[j-1];
a3[j-1]=temper;
}else break;
}
}
}
//插入排序法完
//選擇排序法
public void select(int[] a2) {
// TODO Auto-generated method stub
System.out.println("選擇排序法");
int temper=0;
for (int i = 0; i < a2.length-1; i++) {
int min = a2[i];
int minFoot = i;
for (int j = i + 1; j < a2.length; j++) {
if (min > a2[j]) {
min=a2[j];
minFoot=j;
}
}
temper=a2[i];
a2[i]=min;
a2[minFoot]=temper;
}
}
//選擇排序法完
//冒泡排序法
public void Bubbling(int[] a1) {
System.out.println("冒泡排序法");
int temper = 0;
for (int i = 0; i < a1.length - 1; i++) {
for (int j = 0; j < a1.length - 1 - i; j++) {
if (this.a1[j] > this.a1[j + 1]) {
temper = a1[j];
a1[j] = a1[j + 1];
a1[j + 1] = temper;
}
}
}
}
//冒泡排序法完
5. java怎麼讓數組的數字從大到小排序
將數字從大到小排序的方法:
例如簡一點的冒泡排序,將第一個數字和後面的數字逐個比較大小,如果小於,則互換位置,大於則不動。此時,第一個數為數組中的最大數。然後再將第二個數與後面的數逐個比較,以次類推。
示例代碼如下:
publicclassTest{
publicstaticvoidmain(String[]args){
int[]array={12,3,1254,235,435,236,25,34,23};
inttemp;
for(inti=0;i<array.length;i++){
for(intj=i+1;j<array.length;j++){
if(array[i]<array[j]){
temp=array[i];
array[i]=array[j];
array[j]=temp; //兩個數交換位置
}
}
}
for(inti=0;i<array.length;i++){
System.out.print(array[i]+"");
}
}
}
數組對於每一門編程語言來說都是重要的數據結構之一,當然不同語言對數組的實現及處理也不盡相同。
Java 語言中提供的數組是用來存儲固定大小的同類型元素。
你可以聲明一個數組變數,如 numbers[100] 來代替直接聲明 100 個獨立變數 number0,number1,....,number99
(5)java排序代碼擴展閱讀
Java中利用數組進行數字排序一般有4種方法:
1、選擇排序是先將數組中的第一個數作為最大或最小數,然後通過循環比較交換最大數或最小數與一輪比較中第一個數位置進行排序。
2、冒泡排序也是先將數組中的第一個數作為最大或最小數,循環比較相鄰兩個數的大小,滿足條件就互換位置,將最大數或最小數沉底。
3、快速排序法主要是運用Arrays類中的Arrays.sort方法()實現。
4、插入排序是選擇一個數組中的數據,通過不斷的插入比較最後進行排序。
6. 這串JAVA代碼如何實現按科目成績排序啊
排序可以使用Collections.sort。
例子如下:
import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Main { private static class Student{ private String name; private float grade; public Student(String name, float grade) { this.name = name; this.grade = grade; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getGrade() { return grade; } public void setGrade(float grade) { this.grade = grade; } @Override public String toString() { return name + " " + grade; } } public static void main(String[] args) { List<Student> students = new ArrayList<>(); students.add(new Student("Tom", 86)); students.add(new Student("Jack", 70)); students.add(new Student("Mary", 90)); Collections.sort(students, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { if (o1.getGrade() - o2.getGrade() > 0) { return 1; } else if (o1.getGrade() - o2.getGrade() < 0) { return -1; } else { return 0; } } }); for (Student student : students) { System.out.println(student.toString()); } }}
使用要排序的欄位來比較。就可以得到有序的列表。
7. java冒泡排序法代碼
冒泡排序是比較經典的排序演算法。代碼如下:
for(int i=1;i<arr.length;i++){
for(int j=1;j<arr.length-i;j++){
//交換位置
}
拓展資料:
原理:比較兩個相鄰的元素,將值大的元素交換至右端。
思路:依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重復第一趟步驟,直至全部排序完成。
第一趟比較完成後,最後一個數一定是數組中最大的一個數,所以第二趟比較的時候最後一個數不參與比較;
第二趟比較完成後,倒數第二個數也一定是數組中第二大的數,所以第三趟比較的時候最後兩個數不參與比較;
依次類推,每一趟比較次數-1;
……
舉例說明:要排序數組:int[]arr={6,3,8,2,9,1};
for(int i=1;i<arr.length;i++){
for(int j=1;j<arr.length-i;j++){
//交換位置
}