日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

冒泡排序选择排序 以及时间效率对比

發(fā)布時間:2024/4/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 冒泡排序选择排序 以及时间效率对比 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1 package com.test4; 2 import java.util.*; //Calendar 顯示時間 3 /** 4 * @author qingfeng 5 * 功能:冒泡排序 6 */ 7 public class Bubble { 8 9 public static void main(String[] args) { 10 // TODO Auto-generated method stub 11 //int arr[] = {10,1,-20,89,-1,78,-45}; 12 13 //隨機產(chǎn)生大量數(shù)據(jù) 14 15 int len = 50000; 16 int[] arr = new int[len]; 17 18 19 for(int i=0; i<len; i++) 20 { 21 //產(chǎn)生1到1000的數(shù) 22 arr[i] = (int)(Math.random()*1000); 23 } 24 /* 25 for(int i=0; i<len; i++) 26 { 27 System.out.print(arr[i]+" "); 28 } 29 System.out.println(); 30 */ 31 BubbleSort bs = new BubbleSort(); 32 //顯示排序前的時間 33 Calendar time = Calendar.getInstance();//獲取時間實例 34 System.out.println("排序前的時間為:"+time.getTime());//50000個數(shù)排序4秒 35 bs.sort(arr); 36 37 /* 38 SelectSort ss = new SelectSort(); //50000個數(shù)排序1秒 39 ss.sort(arr); 40 */ 41 /* 42 int a = 1; 43 bs.test(a); 44 System.out.println("a的值為:"+a);//a的值為1 并不是2 因為是值傳遞 45 */ 46 47 /* 48 System.out.println("-----------------------------"); 49 for(int i=0; i<arr.length; i++) 50 { 51 System.out.print(arr[i]+" "); 52 } 53 System.out.println(); 54 */ 55 //顯示排序前的時間 56 Calendar time2 = Calendar.getInstance();//獲取時間實例 57 System.out.println("排序后的時間為:"+time2.getTime()); 58 } 59 } 60 //冒泡排序 61 class BubbleSort 62 { 63 public void test(int a)//值傳遞 64 { 65 a++; 66 } 67 public void sort(int arr[]) //引用傳遞(復(fù)合類型) 68 { 69 int temp; 70 71 //冒泡排序 72 //外層循環(huán):n個數(shù) n-1趟排序 73 for(int i=0; i<arr.length-1; i++) 74 { 75 //內(nèi)層循環(huán):若前比后打則交換 (每趟比前一趟少排一個數(shù):所以"-i") 76 for(int j=0; j<arr.length-1-i; j++) 77 { 78 if(arr[j]>arr[j+1]) 79 { 80 temp = arr[j+1]; 81 arr[j+1] = arr[j]; 82 arr[j] = temp; 83 } 84 } 85 } 86 } 87 } 88 //選擇排序 89 class SelectSort 90 { 91 public void sort(int arr[])//引用傳遞 92 { 93 //外層循環(huán):n個數(shù) n-1趟排序 最后一個數(shù)不要再次排序 94 for(int i=0; i<arr.length-1; i++) 95 { 96 int min=arr[i]; 97 int minIndex = i; 98 99 int j; 100 int temp; 101 //內(nèi)層循環(huán):選擇min值 102 for(j=i+1; j<arr.length; j++) 103 { 104 if(min > arr[j]) 105 { 106 min = arr[j]; 107 minIndex = j; 108 } 109 } 110 //最小值和每趟第一個值交換 111 temp = arr[i]; 112 arr[i] = arr[minIndex]; 113 arr[minIndex] = temp; 114 } 115 } 116 117 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/qingfengzhuimeng/p/6495762.html

總結(jié)

以上是生活随笔為你收集整理的冒泡排序选择排序 以及时间效率对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。