package demo;
import java.util.Arrays;
import java.util.Random;
import org.junit.Test;
public class Sort {
/**
* 冒泡排序
* 若前一个元素大于后一个元素,将两者交换。
*/
public int[] bubbleSort(int[] iAry) {
int aryLen = iAry.length;
for (int i = 1; i < aryLen; i++) {
for (int j = 0; j < aryLen - i; j++) {
if (iAry[j] > iAry[j + 1]) {
swap(iAry, j, j + 1);
}
}
}
return iAry;
}
/**
* 选择排序
*/
public int[] selectSort(int[] iAry) {
int aryLen = iAry.length;
int index = 0;
for (int i = 1; i < aryLen; i++) {
index = 0;
for (int j = 1; j <= aryLen - i; j++) {
if (iAry[j] > iAry[index]) {
index = j;
}
}
swap(iAry, index, aryLen - i);
}
return iAry;
}
/**
* 插入排序
* 将一个记录插入到已排好序的有序表中,从而得到一个新的记录数增1的有序表。
*/
public int[] insertSort(int[] iAry) {
int aryLen = iAry.length;
for (int i = 1; i < aryLen; i++) {
for (int j = 0; j < i; j++) {
if (iAry[j] > iAry[i]) {
swap(iAry, i, j);
}
}
}
return iAry;
}
分享到:
相关推荐
### 各种排序算法比较 #### 一、稳定性比较 稳定性是排序算法中一个重要的特性,指的是相等的元素在排序前后保持原有的相对位置不变。根据文档提供的信息,我们可以总结出以下结论: - **稳定排序**:插入排序、...
本资源“各种排序算法的实验(源代码+实验报告)”提供了一个全面的平台,用C++语言实现了多种经典的排序算法,并附带了详细的实验报告,便于学习者理解和掌握这些算法。 1. **快速排序**:由英国计算机科学家C.A.R...
在C++编程中,实现各种排序算法能够帮助理解它们的工作原理,并且可以对比不同算法在不同情况下的性能。以下是几种常见的排序算法的详细说明: 1. 直接插入排序(Insertion Sort): 直接插入排序是一种简单的排序...
各种排序算法性能的比较 在计算机科学中,排序算法是将一组数据按照一定的顺序排列的过程。排序算法的性能直接影响到数据处理和分析的效率。本课程设计中,我们将对八种内部排序算法的性能进行分析和比较。 1. ...
在IT领域,排序算法是计算机科学中的基础但至关重要的部分,尤其在数据处理和数据分析中起着关键作用。本文将详细探讨标题所提及的几种排序算法:合并排序、插入排序、希尔排序、快速排序、冒泡排序以及桶排序,并...
排序算法概述 排序算法是计算机科学中的一种基本算法,用于对数据进行排序。常见的排序算法有冒泡排序、选择排序、插入排序、缩小增量排序、快速排序、箱排序等。每种算法都有其优点和缺点,选择合适的排序算法取决...
【排序算法】是计算机科学中的基础且至关重要的概念,它涉及到如何有效地重新排列一组数据,使其按照特定的顺序排列。...了解各种排序算法的优缺点和时间复杂度,能帮助我们做出更明智的选择,以提高程序的运行效率。
本资源“各种排序算法大全”集合了多种经典的排序算法,旨在帮助初学者理解和掌握排序的基本原理,并为编程人员提供实用的工具类。下面我们将深入探讨这些排序算法的核心概念及其应用。 1. 冒泡排序(Bubble Sort)...
1.冒泡排序算法 冒泡排序算法是一种简单的排序算法,它的工作原理是通过不断地比较相邻元素,并交换它们以达到排序的目的。冒泡排序算法的时间复杂度为O(n^2),因此它适合小规模的数据排序。 2.选择排序算法 选择...
排序算法是计算机科学中最基础和重要的算法之一,用于将一组数据按照特定的顺序进行排列。本文将对几种常见的内部排序算法和外部排序算法进行详细总结。 首先,排序的基本定义是:给定一个包含n个记录的序列,其...
### 各种排序算法小结 #### 一、引言 排序算法是在计算机科学中非常基础且常用的一类算法。由于在实际应用中往往需要处理大量数据,因此对排序算法的效率有着较高要求。通常,我们会关注算法的时间复杂度来评估其...
本资源集合提供了各种排序算法的C语言实现,这对于理解和优化代码的运行效率至关重要。下面,我们将详细讨论这些排序算法及其特点。 1. 冒泡排序(Bubble Sort):冒泡排序是最基础的排序算法之一,通过不断交换...
排序算法包 各种排序算法 java源 堆排序,快排等各种排序算法
本文将深入探讨几种常见的排序算法:选择排序、冒泡排序、希尔排序和堆排序,以便于理解它们的工作原理和应用场景。 **选择排序(Selection Sort)** 选择排序是一种简单直观的排序算法。它的工作原理是每一次从待...
各种排序算法各种排序算法各种排序算法各种排序算法各种排序算法各种排序算法各种排序算法
此为一个利用Java语言编写的排序分析程序,程序中统计了各种排序算法(冒泡排序、选择排序、插入排序、希尔排序、快速排序、堆排序、归并排序、基数排序)的分析,ppt中包含各种排序算法的分析,附上动画演示(来自...
本资源"总结了各种排序算法,并用C++代码实现,并有演示",提供了丰富的学习材料,包括不同类型的排序算法以及它们的C++实现,还有可能的可视化演示,帮助理解每种算法的工作原理。 首先,让我们逐一了解常见的排序...
该程序包含7大排序算法: # sort.bubbleSort() #冒泡排序 # sort.shellSort() #希尔排序 # sort.insertionSort() #插入排序 # sort.Selectionsort1() #选择排序 # sort.heapSort() #堆排序 # sort.countSort() ...
各种排序算法的实现