首先是冒泡排序
import java.util.Random; public class BubbleSort { private static int score[] = new int[50000]; static { for (int i = 0; i < score.length - 1; i++) { Random r = new Random(); score[i] = r.nextInt(100); } } /** * @param args */ public static void main(String[] args) { long start = System.currentTimeMillis(); for (int i = 0; i < score.length - 1; i++) { for (int j = 0; j < score.length - i - 1; j++) { if (score[j] > score[j + 1]) { int tmp = score[j]; score[j] = score[j + 1]; score[j + 1] = tmp; } } } for (int a = 0; a < score.length; a++) { System.out.print(score[a] + "\t"); } System.out.println(""); System.out.println(System.currentTimeMillis() - start); } }
执行结果,处理了 7351毫秒
快速排序:
import java.util.Random; public class QuickSort { private static int score[] = new int[50000]; static { for (int i = 0; i < score.length - 1; i++) { Random r = new Random(); score[i] = r.nextInt(100); } } public static void main(String[] args) { long start = System.currentTimeMillis(); quickSort(score, 0, score.length - 1); for (int i : score) { System.out.print(i + "\t"); } System.out.println(""); System.out.println(System.currentTimeMillis() - start); } public static void quickSort(int[] datas, int low, int high) { if (low < high) { int middle = getMiddle(datas, low, high); quickSort(datas, low, middle - 1); quickSort(datas, middle + 1, high); } } public static int getMiddle(int[] datas, int low, int high) { int tmp = datas[low]; while (low < high) { while (low < high && tmp <= datas[high]) { high--; } datas[low] = datas[high]; while (low < high && tmp >= datas[low]) { low++; } datas[high] = datas[low]; } datas[low] = tmp; return low; } }
执行结果看 仅仅消耗 147毫秒
相关推荐
(1) 冒泡排序和快速排序; (2) 插入排序和希尔排序; (3) 选择排序和堆排序; (4) 递归和非递归的归并排序。 2. 产生不同规模和分布的数据,以 Excel 生成算法执行时间 T(n)关于输入规模 n 的曲线的形式,...
冒泡排序和快速排序的时间性能比较 冒泡排序和快速排序是两种常见的排序算法,它们在排序过程中的时间性能有很大的差异。在本文中,我们将比较冒泡排序和快速排序的时间性能,并讨论它们在实际应用中的优缺点。 ...
《冒泡排序与快速排序的交互动画》课程设计是一个基于Java编程语言的项目,它通过图形化的方式展示了这两种基础排序算法的工作原理。这个项目利用了JavaFX库,这是一个强大的工具,可以创建丰富的用户界面和交互式...
13-冒泡排序与快速排序.cpp
冒泡排序和快速排序的时间性能 冒泡排序和快速排序是两种常用的排序算法,它们的时间性能是开发者和研究人员所关心的热点话题。在本文中,我们将对冒泡排序和快速排序的时间性能进行深入分析和比较。 冒泡排序是一...
数据结构(c语言版)严蔚敏 吴伟民编著 中直接插入排序、折半排序、shell排序、冒泡排序、快速排序、选择排序、堆排序的实现、归并排序,使用c语言实现
选择排序、插入排序、冒泡排序以及快速排序和归并排序的C语言实现,绝对可用
本文将深入探讨四种在C++中实现的常见排序算法:插入排序、冒泡排序、堆排序和快速排序。这些算法各有特点,适用于不同的场景,理解并掌握它们对于提升编程能力至关重要。 1. **插入排序**: 插入排序是一种简单的...
直接插入排序、冒泡排序、快速排序、直接选择排序、堆排序和二路归并排序是计算机科学中经典的排序算法,它们在数据处理和算法学习中占有重要地位。这些排序算法各有特点,适用场景不同,下面将逐一详细介绍,并结合...
本文将详细讲解六种经典的排序算法——合并排序、插入排序、希尔排序、快速排序、冒泡排序以及桶排序,并结合提供的文件名(sort.c、set.c、main.c、set.h、sort.h)推测出每个文件可能包含的代码实现。 1. **合并...
直接插入排序 选择排序 堆排序 归并排序 快速排序 冒泡排序等七种排序方法
本文将深入探讨Java编程语言中实现的七种主要排序算法:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序以及归并排序。每种算法都有其独特性,适用于不同的场景和数据特性。 1. **直接插入排序**:...
本节将深入探讨两种常见的排序算法:冒泡排序和快速排序。 首先,我们来详细讲解冒泡排序。冒泡排序是一种简单直观的排序算法,它的基本思想是通过重复遍历待排序的数列,依次比较相邻元素并交换位置,使得较大的...
快速排序和冒泡排序是两种常见的排序算法,它们在计算机科学中扮演着重要的角色,特别是在数据处理和优化程序性能方面。本篇文章将深入探讨这两种排序算法的原理、效率以及它们在C#编程语言中的实现。 首先,让我们...
### 多线程实现冒泡排序与快速排序 在计算机科学领域中,排序算法是数据结构与算法课程中的一个重要组成部分。本实验通过结合操作系统中的多线程技术来实现冒泡排序与快速排序两种经典的排序算法,并通过C++编程...
输入同样一组数据,比较直接插入排序、冒泡排序、快速排序这三种排序算法的关键字的比较次数和数据移动次数。
以下是关于"冒泡排序,选择排序,插入排序,希尔排序,堆排序,归并排序,快速排序"这七种常见排序算法的源码实现及相关知识点的详细解释: 1. **冒泡排序**:冒泡排序是一种简单的排序算法,它重复地遍历待排序的...
插入排序、冒泡排序、归并排序、快速排序四种排序方式的C++实现,各写成了一个函数,主函数中可以选择调用那一个。初始化数组时用的是随机种子srand((int)time(0))。在宏中定义数组大小。
本话题主要探讨六种内部排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序以及堆排序。这六种排序算法各有优劣,适用于不同的场景,接下来我们将逐一进行详细阐述。 1. **直接插入排序**: 直接...