选择排序的核心思想就是从前往后依次找到最小的数放到前面,第一次找0~n-1之间最小的数放到0上;第二次找1~n-1之间最小的数放到1上,依次类推,但是只找n-1次,也是就是说最后一次不要找了,因为最后一个数字一定是有序的。
import java.util.Scanner; public class SelectSort{ public static void main(String args[]){ Scanner scanner=new Scanner(System.in); int total=scanner.nextInt(); int[] array=new int[1024]; for(int i=0;i<total;i++){ array[i]=scanner.nextInt(); } selectSort(array,total); output(array,total); } public static void output(int[] array,int total){ for(int i=0;i<total;i++){ System.out.print(array[i]+" "); } System.out.println(); } public static void selectSort(int[] array,int total){ for( int i=0;i<=total-2;i++){ int minIndex=i; for(int j=i+1;j<=total-1;j++){ if(array[minIndex]>array[j]){ minIndex=j; } } if(minIndex!=i){ int temp=array[i]; array[i]=array[minIndex]; array[minIndex]=temp; } } } }
测试数据:
输入:
10
7 4 1 8 5 2 9 6 3 0
输出:
0 1 2 3 4 5 6 7 8 9
10
7 4 1 8 5 2 9 6 3 0
输出:
0 1 2 3 4 5 6 7 8 9
相关推荐
数据结构排序选择排序归并排序基数排序PPT学习教案.pptx
### 数据结构排序实验报告知识点解析 #### 实验背景与目的 - **实验背景**:本实验报告来源于南昌大学科学技术学院信息学科部计算机系的一次专业课程实验。《数据结构》作为一门重要的计算机基础课程,其目的在于...
《数据结构排序算法演示系统详解》 在计算机科学领域,数据结构与排序算法是至关重要的基础知识,它们直接影响到程序的效率和性能。本文将详细解析“数据结构排序算法演示系统”,探讨其中蕴含的多种排序算法及其原...
数据结构排序算法
数据结构是计算机科学中至关重要的概念,它涉及如何有效地存储和组织数据,以便于执行各种操作,如...在实际应用中,根据问题的具体需求和数据特性,灵活选择和设计数据结构和排序算法,可以极大地提高程序的运行效率。
C++数据结构排序算法总结 在计算机科学中,排序算法是最基本和最重要的算法之一。在实际应用中,排序算法广泛应用于各种领域,如数据分析、机器学习、数据库管理等。C++数据结构排序算法总结将为您提供详细的排序...
实现以下常用的内部排序算法并进行性能比较:"直接插入排序"," 折半插入排序"," 2—路插入排序"," 表插入排序"," 希尔排序"," 起泡排序"," 快速排序"," 简单选择排序"," 树形选择排序"," 堆排序"," 归并排序"," 链式...
以上是数据结构中关于排序的一些基本知识,包括排序的稳定性、比较次数、内部排序和外部排序的定义,以及直接插入排序、折半插入排序、希尔排序和冒泡排序的原理和特点。这些排序算法各有优缺点,选择哪种排序算法取...
这两种排序算法在数据结构和算法的学习中占据着核心地位,因为它们帮助初学者理解排序的基本原理。 首先,我们来看**插入排序(Insertion Sort)**。插入排序是一种简单直观的排序算法,它的工作方式类似于人们整理...
4. **数据结构基础**:排序算法往往与特定的数据结构如数组、链表、栈、队列等紧密相关。理解这些基本数据结构的特性和操作,能帮助设计更高效的排序算法。 5. **团队合作**:四人合作意味着需要明确任务分工,如一...
根据给定文件的信息,我们可以总结出以下关于“数据结构排序试验 C语言完整版”的相关知识点: ### 一、概述 该文档提供了一种基于C语言实现的数据结构排序实验的完整版本。通过该文档,读者可以详细了解多种排序...
数据结构中的排序算法是计算机科学中的重要组成部分,用于组织和优化数据处理的效率。下面将对几种常见的排序算法进行详细阐述: 1. 直接插入排序: 直接插入排序的基本思想是将未排序的元素逐个插入到已排序的...
在这个"JAVA数据结构排序动态演示"项目中,开发者通过实现一系列经典的排序算法并配合动态界面展示,使学习者能直观地理解各种排序算法的工作原理。 首先,我们来详细解析每个排序算法: 1. **直接插入排序(直接...
数据结构是计算机科学中至关重要的一部分,它涉及到如何有效地组织、存储和检索数据。在这个话题中,我们关注的是排序,这是数据处理中常见的操作。...然而,简单的排序算法对理解排序原理和数据结构的基础非常重要。
数据结构课程设计直接选择排序 数据结构课程设计直接选择排序 数据结构课程设计直接选择排序 数据结构课程设计直接选择排序 数据结构课程设计直接选择排序 数据结构课程设计直接选择排序 数据结构课程设计直接选择...
在这个数据结构报告中,我们将深入探讨七种不同的内排序算法:简单选择排序、冒泡排序、插入排序、快速排序、两路合并排序以及堆排序。这些排序算法在C++语言环境下进行了实现,并且包含了详细的源代码和实验报告,...
6. 堆排序(Heap Sort):堆是一种特殊的树形数据结构,堆排序利用大顶堆或小顶堆的性质进行排序。它在原地排序,时间复杂度为O(n log n)。 7. 计数排序(Counting Sort):非基于比较的排序算法,适用于整数范围...
数据结构是计算机科学中的核心课程之一,而内部排序则是数据结构中的重要组成部分,它涉及到如何高效地对大量数据进行排序。严蔚敏教授的《数据结构》是一本经典的教材,其中第十章专门讲解了内部排序算法。内部排序...