选择排序,冒泡排序,快速排序速度测试
以下结果是对有20000个元素数组的排序测试
快速排序最快,16毫秒
选择排序次之,2969毫秒
冒泡排序最慢(臭名昭著啊!)5844毫秒
实在差的太多了!
package design; public class Test { /** * 方法说明 * @param * @return */ public static void main(String[] args) { int[] array=new int[20000]; for(int i=0;i<20000;i++){ array[i]=(int) (Math.random()*100); } Test test=new Test(); long start1=System.currentTimeMillis(); test.Mp(array); System.out.println(System.currentTimeMillis()-start1); long start2=System.currentTimeMillis(); test.Xz(array); System.out.println(System.currentTimeMillis()-start2); long start3=System.currentTimeMillis(); System.out.println("快速排序:"); test.QuickSort(array, 0, array.length-1); System.out.println(System.currentTimeMillis()-start3); } //选择排序 public void Xz(int[] i){ System.out.println("选择排序:"); int temp; int len=i.length; for(int j=0;j<len-1;j++){ for(int t=j+1;t<len;t++){ if(i[j]<i[t]){ swap(i[j],i[t]); } } } /* for(int y:i){ System.out.print(y+", "); } System.out.println();*/ } //冒泡排序 public void Mp(int[] array){ System.out.println("冒泡排序:"); int temp; int len=array.length; for(int i=0;i<=len;i++){ for(int j=0;j<=len-2;j++){ if(array[j]<array[j+1]){ swap(array[j],array[j+1]); } } } /* for(int y:array){ System.out.print(y+", "); } System.out.println();*/ } //快速排序 private static void QuickSort(int[] list, int l, int r) { int i, j; int x, y; i = l; j = r; x = list[(r + l) / 2];// 定义中间值 do { while ((list[i] < x) && (i < r)) i++; while ((x < list[j]) && (j > l)) j--; if (i <= j) { y = list[j]; list[j] = list[i]; list[i] = y; i++; j--; } } while (i <= j); if (l < j) QuickSort(list, l, j); if (i < r) QuickSort(list, i, r); } //交换 public void swap(int a,int b){ int temp=a; a=b; b=temp; } }
您还没有登录,请您登录后再发表评论
几种排序及其测试比较: 1.InserSort: Compare number=6407568 Change number=6397342 SepndTime=1349ms 2. ShellSort: Compare number=1044703 Change number=1017712 SepndTime=127ms 3. QuickSort: Compare ...
c实现,几种排序总结,面试笔试很有用的,用的是线性表的顺序存储结构,\(^o^)/~
设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。
几种排序算法的c++实现,保证都能运行,资料齐全,亲自调试
基本排序法的实现及测试,对快速排序 插入排序 选择排序 堆排序 归并排序这几种排序法的实现,同时使用一个简单的测试函数进行测试并打出测试结果。
对直接插入排序、希尔排序、冒泡排序、快排、简单选择排序、堆排序的性能进行分析:比较各种排序算法在不同测试数据情况下的比较次数、移动次数。
设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。 【基本要求】 (1)实现各种内部排序。包括冒泡排序,直接选择排序,希尔排序,快速排序,堆排序。 (2) 待排序的元素的关键字为整数...
几种排序的时间测试,时间复杂度的等,可以清楚的比较得出哪种排序算法更快
本程序主要演示了归并,插入,快排等几种排序算法在各种不同数据量的情况下的算法效率,适合编程新手对排序算法的认识和学习
常见的几种排序算法的实现:选择排序、插入排序、冒泡排序、希尔排序、快速排序、归并排序。包括实现与局测试。
用程序实现插入法排序、起泡法、选择法、快速法、合并法...并用列表打印出每种排序下的各趟排序结果。 每个排序法结束时应打印出其元素比较的次数和交换的次数。 此程序需将结果用列表打印,一定要将其打印结果排列好。
排序算法不少于5种; 待排序的元素的关键字为整数; 比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换以3次计)。演示程序以人机对话的形式进行。每次测试完毕显示各种比较指标的列表,以便比较各种...
JAVA排序算法: 直接插入,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序,包括算法的详细介绍,以及对几种算法的详细测试
主要的内排序包括冒泡、插入、希尔、堆排序、归并、快速、桶排序等,本源码对其用C语言实现,并且进行了简答的测试,可以准确运行,其算法源码以及测试主程序都在源码文件main.c中
设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受
本演示程序对以下6种常用的内部排序算法进行实测比较:起泡排序,直接插入排序,简单选择排序,快速排序,希尔排序,堆排序。
数据结构课程设计,主要是对内部排序算法比较!
冒泡排序 快速排序 直接插入排序 简单选择排序 希尔排序 堆排序算法等对正序随机数,逆序随机数,无序随机数进行排序,并统计关键词比较次数 记录移动次数的c++代码
相关推荐
几种排序及其测试比较: 1.InserSort: Compare number=6407568 Change number=6397342 SepndTime=1349ms 2. ShellSort: Compare number=1044703 Change number=1017712 SepndTime=127ms 3. QuickSort: Compare ...
c实现,几种排序总结,面试笔试很有用的,用的是线性表的顺序存储结构,\(^o^)/~
设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。
几种排序算法的c++实现,保证都能运行,资料齐全,亲自调试
基本排序法的实现及测试,对快速排序 插入排序 选择排序 堆排序 归并排序这几种排序法的实现,同时使用一个简单的测试函数进行测试并打出测试结果。
对直接插入排序、希尔排序、冒泡排序、快排、简单选择排序、堆排序的性能进行分析:比较各种排序算法在不同测试数据情况下的比较次数、移动次数。
设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。 【基本要求】 (1)实现各种内部排序。包括冒泡排序,直接选择排序,希尔排序,快速排序,堆排序。 (2) 待排序的元素的关键字为整数...
几种排序的时间测试,时间复杂度的等,可以清楚的比较得出哪种排序算法更快
本程序主要演示了归并,插入,快排等几种排序算法在各种不同数据量的情况下的算法效率,适合编程新手对排序算法的认识和学习
常见的几种排序算法的实现:选择排序、插入排序、冒泡排序、希尔排序、快速排序、归并排序。包括实现与局测试。
设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。
用程序实现插入法排序、起泡法、选择法、快速法、合并法...并用列表打印出每种排序下的各趟排序结果。 每个排序法结束时应打印出其元素比较的次数和交换的次数。 此程序需将结果用列表打印,一定要将其打印结果排列好。
排序算法不少于5种; 待排序的元素的关键字为整数; 比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换以3次计)。演示程序以人机对话的形式进行。每次测试完毕显示各种比较指标的列表,以便比较各种...
JAVA排序算法: 直接插入,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序,包括算法的详细介绍,以及对几种算法的详细测试
主要的内排序包括冒泡、插入、希尔、堆排序、归并、快速、桶排序等,本源码对其用C语言实现,并且进行了简答的测试,可以准确运行,其算法源码以及测试主程序都在源码文件main.c中
设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受
本演示程序对以下6种常用的内部排序算法进行实测比较:起泡排序,直接插入排序,简单选择排序,快速排序,希尔排序,堆排序。
数据结构课程设计,主要是对内部排序算法比较!
冒泡排序 快速排序 直接插入排序 简单选择排序 希尔排序 堆排序算法等对正序随机数,逆序随机数,无序随机数进行排序,并统计关键词比较次数 记录移动次数的c++代码