`
chenpingtai2008
  • 浏览: 58759 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

简单的选择排序

J# 
阅读更多
简单的选择排序的思想是:
以升序为例
第一轮从第一个元素到最后一个元素中选择出最小的元素和第一个元素交换
第二轮从第二个元素到最后一个元素中选择出最小的元素和第二个元素交换
。。。。。。。。。。。。。。。
依次类推
以下是代码:

//简单的选择排序
public class SimpleSelectSort {
public void selectSort(int[] data) {
int minlocation = 0;
int i;
for (i = 0; i < data.length; i++) {
                          //选择出i到末尾中最小元素的位子
minlocation = selectMinKey(data, i);
                          //交换i位子的元素和这个最小元素
swap(data, i, minlocation);
}
}
//选择出第i个到末尾的最小元素
private int selectMinKey(int[] data, int i) {
int minlocation = i;
for (int j = i + 1; j < data.length; j++) {
if (data[j] < data[minlocation]) {
minlocation = j;
}
}
return minlocation;
}
//交换位子i,j的元素
private void swap(int[] data, int i, int j) {
int temp = data[i];
data[i] = data[j];
data[j] = temp;
}
    //打印出数组
public void printData(int data[]) {
for (int i = 0; i < data.length - 1; i++) {
System.out.print(data[i] + ",");
}
System.out.print(data[data.length - 1]);
}
分享到:
评论

相关推荐

    单链表上的简单选择排序算法

    简单选择排序是一种基础且直观的排序算法,虽然效率较低,但对理解排序原理非常有帮助。当我们需要在单链表这种非数组结构上进行排序时,需要对基本的简单选择排序算法进行一些调整。接下来,我们将详细探讨如何在...

    简单选择排序代码

    简单选择排序是一种基础的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到最小(或最大)元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(或...

    冒泡排序和简单选择排序c语言

    冒泡排序 简单选择排序 c语言基础 排序算法 数组操作 排序算法实验 简单的c语言程序 排序算法输出

    数据结构 简单选择排序

    ### 数据结构之简单选择排序详解 #### 知识点一:简单选择排序的基本概念与原理 简单选择排序是一种基本的排序算法,其工作原理是通过不断地寻找剩余未排序元素中的最小值(或最大值),并将它放到已排序序列的...

    简单选择排序

    简单选择排序

    简单选择排序,输出每趟结果

    ### 知识点一:简单选择排序算法原理 **简单选择排序**是一种基本的排序算法,其核心思想是在未排序序列中找到最小(或最大)元素放到已排序序列的末尾。具体步骤如下: 1. **初始化**:将待排序序列分为两部分,...

    简单选择排序及堆排序源代码

    以上是关于“简单选择排序及堆排序”的核心知识点。通过理解这两种排序算法的工作原理,可以更好地运用它们解决实际问题。在实际编程中,根据数据规模、是否需要稳定排序以及内存限制等因素,选择合适的排序算法是...

    简单选择排序算法源代码

    简单选择排序是一种基础的排序算法,它的工作原理可以形象地比喻为找寻“最小(大)元素”的过程。在这个过程中,算法会逐步构建一个有序序列,每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的...

    链式简单选择排序课程设计源代码及报告

    链式简单选择排序是一种在数据结构课程中常见的排序算法实现,尤其在C语言环境下,它展示了如何通过指针操作处理链表数据结构。这个课程设计旨在帮助学生理解链表的操作和排序算法的工作原理。 首先,我们需要了解...

    VC++常用算法之简单选择排序

    简单选择排序是一种基础且直观的排序算法,常用于教学或理解排序原理。在VC++环境中,我们可以使用C++语言来实现这种算法。本篇将详细阐述简单选择排序的工作原理、步骤以及如何用VC++实现。 **一、简单选择排序...

    数据结构排序算法汇总包-直接插入排序 折半插入排序 2—路插入排序 表插入排序 希尔排序 起泡排序 快速排序 简单选择排序 树形选择排序 堆排序 归并排序链式基数排序

    实现以下常用的内部排序算法并进行性能比较:"直接插入排序"," 折半插入排序"," 2—路插入排序"," 表插入排序"," 希尔排序"," 起泡排序"," 快速排序"," 简单选择排序"," 树形选择排序"," 堆排序"," 归并排序"," 链式...

    选择排序(内包含有:简单选择排序,堆排序的C++代码实现)

    下面将详细讨论简单选择排序和堆排序这两种算法,并结合C++代码实现进行解析。 ### 简单选择排序 简单选择排序的算法流程如下: 1. 从待排序的数组中找到最小元素,记作当前最小值。 2. 将当前最小值与数组的第一...

    直接插入排序 、冒泡排序、简单选择排序

    直接插入排序、冒泡排序和简单选择排序是三种常用的排序算法,它们分别应用于不同的场景中。在本实验报告中,我们将详细介绍这三种排序算法的实现过程。 一、直接插入排序 直接插入排序是一种简单的排序算法,它的...

    希尔排序,堆排序,快速排序,简单选择排序,插入排序,冒泡排序

    本主题涵盖了六种经典的排序算法:希尔排序、堆排序、快速排序、简单选择排序、插入排序和冒泡排序。这些算法各有特点,适用于不同的场景,下面将逐一详细介绍。 1. **希尔排序**:希尔排序是由Donald Shell提出的...

    使用C语言写的简单选择排序

    选择排序是一种简单直观的比较排序算法。其工作原理是:首先在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。...

    冒泡排序、快速排序、简单插入排序、希尔排序、简单选择排序、堆叠排序六种排序方法.pdf

    冒泡排序、快速排序、简单插入排序、希尔排序、简单选择排序和堆排序是数据结构中常见的六种基本排序算法,它们各有特点和应用场景,是学习数据结构必考的知识点。 冒泡排序是一种简单直观的排序算法,其基本思想是...

    简单选择排序 折半插入排序

    本次我们关注的是两种基础排序算法:简单选择排序和折半插入排序,它们都是在C语言环境中实现的数据结构作业。 首先,让我们详细了解这两种排序算法。 **简单选择排序**是一种简单直观的排序算法。它的基本思想是...

    选择排序之简单选择排序.cpp

    选择排序之简单选择排序.cpp

Global site tag (gtag.js) - Google Analytics