java 代码
- public class Sort {
-
-
-
-
-
- public static int[] sort(int[] data) {
- int temp;
- for (int i = 1; i < data.length; i++) {
- for (int j = i; (j > 0) && (data[j] > data[j - 1]); j--) {
-
- temp = data[j];
- data[j] = data[j - 1];
- data[j - 1] = temp;
- }
- }
- return data;
- }
-
-
-
-
-
- public static int[] maopao(int[] data) {
- int temp;
- for (int i = 0; i < data.length - 1; i++) {
- for (int j = i + 1; j < data.length; j++) {
- if (data[i] < data[j]) {
- temp = data[i];
- data[i] = data[j];
- data[j] = temp;
- }
- }
- }
- return data;
- }
-
-
-
-
-
-
- public static int[] xuanze(int[] data) {
- int temp;
- for (int i = 0; i < data.length; i++) {
- int lowIndex = i;
- for (int j = data.length - 1; j > i; j--) {
- if (data[j] > data[lowIndex]) {
- lowIndex = j;
- }
- }
- temp = data[i];
- data[i] = data[lowIndex];
- data[lowIndex] = temp;
- }
- return data;
- }
-
-
-
-
- public static int[] sort2(int[] data) {
- for (int i = data.length / 2; i > 2; i /= 2) {
- for (int j = 0; j < i; j++) {
- insertSort(data, j, i);
- }
- }
- insertSort(data, 0, 1);
- return data;
- }
-
- private static void insertSort(int[] data, int start, int inc) {
- int temp;
- for (int i = start + inc; i < data.length; i += inc) {
- for (int j = i; (j >= inc) && (data[j] > data[j - inc]); j -= inc) {
- temp = data[j];
- data[j] = data[j - inc];
- data[j - inc] = temp;
- }
- }
- }
-
- public static void main(String args[]) {
- Sort s = new Sort();
- int str[] = {1, 5, 9, 2, 56, 89, 98, 74, 52, 65, 30, 25, 78, 10, 12, 31, 25, 46};
-
- Long star = System.currentTimeMillis();
- for (int j = 0; j < 100000; j++)
- str = s.maopao(str);
- Long end = System.currentTimeMillis();
- for (int i = 0; i < str.length; i++) {
- System.out.print(str[i] + " ");
- }
- System.out.println("冒泡排序所花时间: " + (end - star));
-
-
- star = System.currentTimeMillis();
- for (int j = 0; j < 100000; j++)
- str = s.sort(str);
- end = System.currentTimeMillis();
- for (int i = 0; i < str.length; i++) {
- System.out.print(str[i] + " ");
- }
- System.out.println("插入法排序所花时间: " + (end - star));
-
-
- star = System.currentTimeMillis();
- for (int j = 0; j < 100000; j++)
- str = s.sort2(str);
- end = System.currentTimeMillis();
- for (int i = 0; i < str.length; i++) {
- System.out.print(str[i] + " ");
- }
- System.out.println("Shell排序法排序所花时间: " + (end - star));
-
-
- star = System.currentTimeMillis();
- for (int j = 0; j < 100000; j++)
- str = s.xuanze(str);
- end = System.currentTimeMillis();
- for (int i = 0; i < str.length; i++) {
- System.out.print(str[i] + " ");
- }
- System.out.println("选择法排序所花时间: " + (end - star));
- }
- }
比较结果是:
98 89 78 74 65 56 52 46 31 30 25 25 12 10 9 5 2 1 冒泡排序所花时间: 125
98 89 78 74 65 56 52 46 31 30 25 25 12 10 9 5 2 1 插入法排序所花时间: 15
98 89 78 74 65 56 52 46 31 30 25 25 12 10 9 5 2 1 Shell排序法排序所花时间: 63
98 89 78 74 65 56 52 46 31 30 25 25 12 10 9 5 2 1 选择法排序所花时间: 94
分享到:
相关推荐
在这篇比较文档中,介绍了这三种排序算法的C语言实现方法,通过源程序清单展示了每种算法的具体编码实现,这对于C语言编程初学者来说是很好的学习资料。程序中使用了标准输入输出库stdio.h和内存管理库malloc.h,...
C++中的几种排序方法介绍,并给出相关代码。包括冒泡排序法,简单排序法,希尔排序法和快速排序法
根据给定的信息,本文将详细介绍Java中的四种基本排序算法:冒泡排序、插入排序、快速排序和选择排序。...以上四种排序算法各有优缺点,适用场景也不同。在实际应用中,根据具体需求选择合适的排序算法是非常重要的。
常见的几种排序方式,包括选择排序,冒泡排序,快速排序,希尔排序,堆排序,插入排序。vs2008实现,对话框方式,主要实现字符串的由小到大...点击“几种排序方法.vcproj“运行。字符集使用多字节集,不能用UNICODE。
以上就是JavaScript中常用的几种排序方法。理解并熟练运用它们,能够帮助你在处理数据时更加游刃有余。在实际项目中,可以根据具体需求选择合适的方法,或者利用现有的库和工具提高代码的可读性和可维护性。
### Java 实现几种常见排序方法 #### 泡泡排序(Bubble Sort) 泡泡排序是一种简单的排序算法,它重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复...
本篇文章将深入探讨数组的几种常见排序方法,包括冒泡排序、选择排序和插入排序,这些都是基础且实用的排序算法,对于理解更复杂的排序算法有着重要的铺垫作用。 ### 冒泡排序 冒泡排序是一种简单直观的排序算法。...
以下是关于这几种排序方法的详细介绍: 1. **堆排序(Heap Sort)** 堆排序是一种基于比较的原地排序算法,它利用了完全二叉树的特性。首先构建大顶堆或小顶堆,然后将堆顶元素与末尾元素交换,再调整堆,重复此...
本程序涵盖了数据结构中常见的几种排序方法,下面将对这些排序算法进行详细介绍。 1. 冒泡排序(Bubble Sort) 冒泡排序是最简单的排序算法之一。它通过不断比较相邻元素并交换位置来实现排序,重复这一过程,直到...
这里我们将深入探讨几种常见的排序算法,包括插入排序、快速排序以及堆排序,它们各自有其特点和适用场景。 首先,我们来看插入排序(Insertion Sort)。插入排序是一种简单的排序算法,其基本思想是将待排序的数据...
以下是标题“几种排序方法的具体代码”中涉及的几种排序算法的详细解释: 1. **插入排序**(Insertion Sort): 插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序...
内排序是计算机科学中一种重要的算法,用于在内存中对数据进行排序。在这个数据结构报告中,我们将深入探讨...通过实验报告,我们可以分析不同算法在各种输入条件下的运行时间,从而选择最适合特定应用场景的排序方法。
几种常见的排序方法 1. 选择排序法基本思想: 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 2.插入排序(Insertion Sort)的基本思想是...
设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。 在本文中,我们将设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数,以取得直观感受。内部排序算法是指在内存中...
关于数据的几种排序算法的程序对比分析,结合具体案例
主要是源代码 包括几种排序方法 选择 基数 快速排序 及栈的运用。
这里我们将深入探讨几种常见的排序算法,并在VS2013环境下进行实现和比较。 1. 冒泡排序(Bubble Sort) 冒泡排序是一种简单的交换排序,它通过重复遍历待排序的数列,依次比较相邻元素并根据需要交换位置,直到...