冒泡法排序
public class Bubble {
public static void main(String[] args) {
int[] a = { 2, 1, 4, 5, 6, 7, 8, 9, 23, 44 };
long start =System.currentTimeMillis();
for(int i=0;i<10000;i++){
sort(a);
}
long end = System.currentTimeMillis();
System.out.println(end-start);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " < ");
}
}
private static void sort(int[] a) {
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length - 1 - i; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
}
插入法排序
package xuexi;
public class Insert {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] data = { 2, 1, 4, 5, 6, 7, 8, 9, 23, 44 };
long start =System.currentTimeMillis();
for(int i=0;i<10000;i++){
sort(data);
}
long end = System.currentTimeMillis();
System.out.println(end-start);
for(int i=0;i < data.length;i++){
System.out.print(data[i] + " > ");
}
}
public static void 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;
}
}
}
}
排序时间差不少呢!
分享到:
相关推荐
C语言程序设计-排序算法:理解和重点掌握选择法排序、冒泡法排序、插入法排序的思想 ⑴编写程序,对n个整数用冒泡法排序(从小到大或从大到小); ⑵编写程序,对n个整数用选择法排序(从小到大或从大到小); ⑶...
printf("\t2: 冒泡法排序\n"); printf("\t3: 快速排序\n"); printf("\t4: 直接选择排序\n"); printf("\t5: 堆排序\n"); printf("\t6: 归并排序\n"); printf("\t7: 希尔排序\n"); printf("\t*****************...
根据给定文件的信息,本文将深入探讨C语言中的两种经典排序方法:插入排序法与冒泡排序法。这两种方法在实际编程中应用广泛,对于理解数据结构与算法的基础概念至关重要。 ### 一、冒泡排序法 #### 1.1 基本原理 ...
经典C语言排序算法 ...冒泡排序、选择排序和插入法排序都是基本的排序算法,虽然它们的效率不高,但它们的实现简单易懂,易于学习和理解。同时,这些算法也可以作为其他排序算法的基础,例如快速排序和归并排序等。
本主题将深入探讨Java中三种基础的排序算法:冒泡法、选择法和插入法。 1. **冒泡排序(Bubble Sort)**: 冒泡排序是一种简单直观的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就...
输入同样一组数据,比较直接插入排序、冒泡排序、快速排序这三种排序算法的关键字的比较次数和数据移动次数。
在冒泡法排序的汇编实现中,我们需要理解并掌握基本的寄存器操作、数据转移、比较和条件跳转等指令。例如,可能需要用到`MOV`指令来移动数据,`CMP`指令进行比较,以及`JNE`、`JE`等跳转指令根据比较结果控制流程。 ...
本篇文章将详细介绍在C#语言中实现的选择排序法、冒泡排序法以及插入排序法,并通过具体的代码示例来展示每种排序方法的工作原理。 #### 一、冒泡排序(Bubble Sort) **定义与原理:** 冒泡排序是一种简单的排序...
C语言提供了多种实现排序的算法,其中冒泡排序、插入排序和快速排序是最常见的三种。每种排序算法都有其独特的特性和适用场景。 首先,冒泡排序(Bubble Sort)以其简单易懂的原理而闻名。它通过不断地比较相邻元素...
例如,冒泡排序和选择排序适合小规模数据,而快速排序和归并排序则适用于大规模数据。在实际应用中,应根据具体需求和数据特性选择合适的排序算法。学习和理解这些排序算法的原理及源码实现,对于提升编程能力具有...
根据提供的文件信息,我们可以深入探讨几种经典的排序算法:冒泡排序、直接插入排序、快速排序以及希尔排序。这些算法在数据结构与算法课程中是非常重要的基础内容,它们各自有着独特的特性和应用场景。 ### 1. ...
学习各类语言,发现关键是算法,所以从此开始将常规算法及其实现,陆续上传,让更多的编程爱好者少走弯路。
例如,冒泡排序和插入排序简单但效率较低,适合小规模数据;堆排序和快速排序在中大规模数据上表现良好,但快速排序的不稳定性和堆排序的空间复杂度是需要注意的问题;归并排序和希尔排序在稳定性上有优势,而桶排序...
本文将深入探讨标题中提到的几种基于比较的排序算法:选择排序、插入排序、归并排序、快速排序、堆排序、冒泡排序以及希尔排序。 1. **选择排序(Selection Sort)**: - 基本思想:在未排序的序列中找到最小(或...
本文将深入探讨Java编程语言中实现的七种主要排序算法:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序以及归并排序。每种算法都有其独特性,适用于不同的场景和数据特性。 1. **直接插入排序**:...
任务:用程序实现插入法排序、起泡法改进算法排序;...利用插入排序和冒泡法的改进算法,将用户随机输入的一列数按递增的顺序排好。 输入的数据形式为任何一个正整数,大小不限。 输出的形式:数字大小逐个递增的数列。
根据给定的信息,本文将详细解释C#中的几种基本排序算法:选择排序、冒泡排序、快速排序、插入排序、希尔排序以及归并排序的基本原理和实现方式。 ### 一、选择排序(Selection Sort) #### 算法原理 选择排序是一...
本篇文章将详细讲解快速排序、冒泡排序和插入排序这三种常用的排序算法,并通过Java代码示例进行演示。 **快速排序** 快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare于1960年提出。其基本思想是...
希尔排序法的基本思想是将待排序的序列分成若干个小组,每组进行插入排序,然后逐步合并小组,直到整个序列有序。 希尔排序法的时间复杂度为 O(n log n),空间复杂度为 O(1)。希尔排序法的优点是快速稳定,缺点是...
堆排序是一种不稳定的排序方法,但效率通常优于冒泡排序和插入排序。 7. **希尔排序**:由Donald Shell提出的改进版本的插入排序,通过设置不同的增量将待排序的序列分割成若干子序列,分别进行直接插入排序,然后...