简单排序:
1.冒泡排序
2.选择排序
3.插入排序
代码:SimpleSort.java
package com.caicongyang.sort; /** * * * @author caicongyang1 * @version $Id: SimpleSort.java, v 0.1 2016年5月31日 下午4:15:07 caicongyang1 Exp $ */ public class SimpleSort { public static void main(String[] args) { int[] arr = { 10, 4, 5, 7, 2, 3, 8 }; System.out.println(arr[arr.length - 1]); //bubbleSort(arr); //selectionSort(arr); insertionSort(arr); for (int i : arr) { System.out.println(i); } } /** *插入排序 *将数组分成有序部分和无序部分,将无序的依次插入有序部分中 * * @param arr */ public static void insertionSort(int[] arr) { for (int i = 1; i < arr.length; i++) {//外层总1开始, int temp = arr[i]; int j = i; while (j > 0 && arr[j - 1] >= temp) {//内层从外层开始,向左移动,直到他不能向左移动位置(排到到应有的位置) arr[j] = arr[j - 1]; //向左移动 --j; } arr[j] = temp; //插入对应的位置 } } /** * 选择排序 * * 将最小的放在未排序的最前面,依次交换 * * */ public static void selectionSort(int[] arr) { int min; //定义最小的变量 for (int i = 0; i < arr.length - 1; i++) { //外层从数组最小的位置0开始,到数组的倒数第二个位置 min = i; //默认最小为数组第一个 for (int j = i + 1; j < arr.length; j++) { //内层从i+1开始,到数组的最后一个位置,依次比较,如果当前数比min更小,则将内层的数换到min位置 if (arr[j] < arr[min]) { min = j; } int temp = arr[i]; arr[i] = arr[min]; arr[min] = temp; } } } /** * 冒泡排序 * * 逐个交换,将最大的放到最后一个,依次类推 * */ public static void bubbleSort(int[] arr) { for (int i = arr.length - 1; i > 1; i--) { //外层从数组的最后一个位置开始,依次递减,后面的位置是排序好的 for (int j = 0; j < i; j++) {//内层从0开始,逐个比较,直到内层等于外层的时候结束,将最大的一个换到最后的位置 if (arr[j] > arr[j + 1]) { int temp = arr[j]; //交换对换位置 arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } }
更多精彩内容请继续关注我的博客:http://blog.csdn.net/caicongyang
记录与分享,你我共成长 -fromcaicongyang
如果你觉得本文对你有帮助,可以扫描下面的微信二维码,请我喝杯水咯!
相关推荐
本书分为基本概念、简单数据结构(线性表、栈、队列)、复杂数据结构(树、图)和算法与数据结构应用(排序、查找、算法设计基础)四部分,详细介绍了常用数据结构和算法的基本概念及其不同的实现方法,对各种数据...
数据结构学习笔记排序算法:基数排序数据结构学习笔记排序算法:基数排序数据结构学习笔记排序算法:基数排序数据结构学习笔记排序算法:基数排序数据结构学习笔记排序算法:基数排序数据结构学习笔记排序算法:基数...
《算法与数据结构课程设计——排序》 在计算机科学中,排序是处理数据的重要操作,尤其是在数据分析、数据库管理和算法效率优化等领域。本课程设计主要涵盖了五种常见的排序算法:冒泡排序、直接插入排序、简单选择...
《算法与数据结构_张乃孝》是一本深入探讨计算机科学基础领域的经典教材,由知名专家张乃孝编著。本书旨在帮助初学者理解和掌握算法与数据结构的核心概念,为编程和软件开发打下坚实的基础。 算法是解决问题或执行...
排序算法则是数据结构中的重要部分,它们用于对一组数据进行有序排列。在这个实验中,我们将关注六种不同的排序算法:选择排序、冒泡排序、插入排序、基数排序以及快速排序和归并排序。下面是对这些排序算法的详细...
本文将深入探讨“数据结构与算法之排序”,重点关注内部排序和外部排序。 首先,我们理解一下数据结构。数据结构是组织和存储数据的方式,它决定了数据的访问效率和操作复杂度。常见的数据结构有数组、链表、栈、...
c语言版本的数据结构的快速排序算法,适用于新手学习
数据结构是计算机科学中的核心部分,它探讨了如何有效地存储和组织数据,以便进行高效的查询、更新和操作。在这个压缩包文件中,我们...通过学习和实践这些排序算法,你将能够更好地掌握数据结构和算法,提升编程能力。
本书是高等教育“十一五”国家级规划教材,系统介绍各种数据结构、常用算法及算法分析技术。数据结构的内容包括线性结构、树形结构、哈希结构、索引结构;算法方面的内容包括选择算法、查找算法、排序算法。本书还...
根据提供的实验报告信息,我们可以详细地探讨数据结构中查找与排序算法的相关知识点,具体包括折半查找、顺序查找、归并排序以及堆排序这四种算法。 ### 一、折半查找 #### 定义与原理 折半查找,也称二分查找,是...
数据结构与排序是计算机科学中的核心概念,它们在编程和算法设计中扮演着至关重要的角色。数据结构是指在计算机中组织和存储数据的方式,而排序则是对这些数据进行有效处理的关键技术。 首先,我们来深入了解一下...
6. 堆排序:利用堆这种数据结构实现的排序,可以原地排序,不需要额外的存储空间。 7. 计数排序、桶排序和基数排序:这些是线性时间复杂度的非比较排序算法,适用于特定类型的数据,如整数排序。 三、排序算法的...
"算法与数据结构考研试题精析(第二版)第10章 排序" 本资源是关于算法与数据结构考研试题精析的第10章,主要讨论排序算法。该资源包括选择题和多选题,涵盖了排序算法的稳定性、时间复杂度、比较次数等方面的知识点...
此外,这些题目还可能涉及排序(如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序)和查找(如顺序查找、二分查找、哈希查找)算法,这些都是数据结构课程的重点。 接着,"数据结构试卷参考答案.doc"是...
习题涵盖排序算法(如冒泡排序、选择排序、快速排序、归并排序)、查找算法(如二分查找、哈希查找)以及复杂的数据结构操作。每道习题都配有详细的解题步骤和分析,有助于读者巩固知识,提高问题解决能力。 五、...
数据结构课程设计五——排序算法综合分析 该资源是一个数据结构课程设计的五个部分,主要讲解排序算法的综合分析。该资源涵盖了多种排序算法,包括直接插入排序、希尔排序、快速排序、冒泡排序、堆排序和归并法排序...
数据结构排序算法
数据结构冒泡排序算法 数据结构冒泡排序算法
1、本演示程序对以下6种常用的内部排序算法进行实测比较:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序。 2、待排序表的表的元素的关键字为整数,表长不小于100;其中的数据要用伪随机数产生...