<span style="font-family: Arial, Helvetica, sans-serif;">鄙人:</span>
<span style="font-family: Arial, Helvetica, sans-serif;">package testWebApp;</span>
/** * * @author luozhonghua * */ public class testmysort { static final int N=200; public static void main(String[]args){ long begin=System.currentTimeMillis(); int []array=new int[N];// {123,115,100,193,194,167,151,183,190,136 } ; System.out.println("排序前:"); for(int i=0;i<N;i++){ array[i]=(int)(100+Math.random()*(100+1)); System.out.print(array[i]+" "); } System.out.print("\n"); sort("", array); System.out.println("排序后:"); for(int i:array){ System.out.print(i+" "); } long end=System.currentTimeMillis(); System.out.print("\n"); System.out.println("耗时:"+(end-begin)); } static void sort(String desc,int [] array){ int temp=0; int count=0; if(desc.equals("desc")){ for(int i=0;i<array.length;i++){ for(int j=i;j<array.length;j++){ if(array[i]<array[j]){ temp = array[i]; //小 array[i] = array[j]; //大 array[j] = temp;//小 count++; // array[i] = array[i] + array[j]; // array[j] = array[i] - array[j]; // array[i] = array[i] - array[j]; } } } System.out.println("比较次数:"+count); }else{ for(int i=0;i<array.length;i++){ for(int j=i;j<array.length;j++){ if(array[i]>array[j]){ temp=array[i]; array[i]=array[j]; array[j]=temp; count++; } } } System.out.println("比较次数:"+count); } } }
排序前:
156 101 178 118 193 195 194 109 157 143 167 183 185 122 173 105 132 130 172 191 169 160 149 168 117 200 122 119 110 114 117 118 120 198 145 194 158 197 110 197 169 111 180 186 152 185 152 132 110 149 123 196 168 137 139 166 133 142 160 127 183 188 169 190 184 178 117 102 141 101 135 123 186 102 156 175 162 183 128 139 189 141 183 127 195 164 128 191 110 138 142 183 135 110 180 132 134 196 131 152 144 114 174 114 193 174 144 190 138 184 197 200 141 195 131 147 149 132 100 133 199 134 137 144 154 125 110 166 116 112 158 180 143 152 181 105 199 119 110 170 168 113 165 153 188 125 137 181 183 155 146 147 180 168 154 191 180 184 162 116 151 118 139 102 179 141 115 130 192 163 114 187 116 135 139 173 186 156 161 131 152 134 185 100 189 130 176 122 191 192 127 156 183 170 160 193 167 158 119 139
比较次数:5508
排序后:
100 100 101 101 102 102 102 105 105 109 110 110 110 110 110 110 110 111 112 113 114 114 114 114 115 116 116 116 117 117 117 118 118 118 119 119 119 120 122 122 122 123 123 125 125 127 127 127 128 128 130 130 130 131 131 131 132 132 132 132 133 133 134 134 134 135 135 135 137 137 137 138 138 139 139 139 139 139 141 141 141 141 142 142 143 143 144 144 144 145 146 147 147 149 149 149 151 152 152 152 152 152 153 154 154 155 156 156 156 156 157 158 158 158 160 160 160 161 162 162 163 164 165 166 166 167 167 168 168 168 168 169 169 169 170 170 172 173 173 174 174 175 176 178 178 179 180 180 180 180 180 181 181 183 183 183 183 183 183 183 184 184 184 185 185 185 186 186 186 187 188 188 189 189 190 190 191 191 191 191 192 192 193 193 193 194 194 195 195 195 196 196 197 197 197 198 199 199 200 200
耗时:16
某书:
import java.util.Random; public class P4_1 { static final int SIZE=200; public static void bubbleSort(int[] a) { int temp; int count=0; for (int i = 1; i < a.length; i++) { //将相邻两个数进行比较,较大的数往后冒泡 for (int j = 0; j < a.length - i; j++) { if (a[j] > a[j + 1]) { //交换相邻两个数 temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; count++; } } // System.out.print("第"+i+"步排序结果:"); //输出每步排序的结果 // for(int k=0;k<a.length;k++) // { // System.out.print(" "+a[k]); // 输出 // } // System.out.print("\n"); } System.out.println("比较次数:"+count); } public static void main(String[] args) { long begin=System.currentTimeMillis(); int[] shuzu=new int[SIZE];//{123,115,100,193,194,167,151,183,190,136 } int i; System.out.print("排序前的数组为:\n"); //输出排序前的数组 for(i=0;i<SIZE;i++){ shuzu[i]=(int)(100+Math.random()*(100+1)); //初始化数组 System.out.print(shuzu[i]+" "); } System.out.print("\n"); bubbleSort(shuzu); //排序操作 System.out.print("排序后的数组为:\n"); for(i=0;i<SIZE;i++){ System.out.print(shuzu[i]+" "); //输出排序后的数组 } System.out.print("\n"); long end=System.currentTimeMillis(); System.out.println("耗时:"+(end-begin)); } }