冒泡排序选择排序 以及时间效率对比
生活随笔
收集整理的這篇文章主要介紹了
冒泡排序选择排序 以及时间效率对比
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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 //隨機產生大量數據
14
15 int len = 50000;
16 int[] arr = new int[len];
17
18
19 for(int i=0; i<len; i++)
20 {
21 //產生1到1000的數
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個數排序4秒
35 bs.sort(arr);
36
37 /*
38 SelectSort ss = new SelectSort(); //50000個數排序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[]) //引用傳遞(復合類型)
68 {
69 int temp;
70
71 //冒泡排序
72 //外層循環:n個數 n-1趟排序
73 for(int i=0; i<arr.length-1; i++)
74 {
75 //內層循環:若前比后打則交換 (每趟比前一趟少排一個數:所以"-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 //外層循環:n個數 n-1趟排序 最后一個數不要再次排序
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 //內層循環:選擇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 }
?
轉載于:https://www.cnblogs.com/qingfengzhuimeng/p/6495762.html
總結
以上是生活随笔為你收集整理的冒泡排序选择排序 以及时间效率对比的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件的奔溃统计,后台更新
- 下一篇: Visual Studio IDE环境下