JavaScript
function selectSort(ary) {
var i, j, k, temp;
var len = ary.length;
for(i=0; i<len; i++) {
k = i;
// 找出最小的元素索引
for(j=i+1; j<len; j++) {
if(ary[k] > ary[j]) {
k = j;
}
}
temp = ary[i];
ary[i] = ary[k];
ary[k] = temp;
}
return ary;
}
// var ary = [5,4,3,2,1];
// console.log(selectSort(ary));
Java
public class Test {
public static void selectSort(int[] ary) {
int i, j, k, temp;
int len = ary.length;
for(i=0; i<len; i++) {
k = i;
for(j=i+1; j<len; j++) {
if(ary[k] > ary[j]) {
k = j;
}
}
temp = ary[i];
ary[i] = ary[k];
ary[k] = temp;
}
}
public static void main(String[] args) {
int[] ary = {5,4,3,2,1};
Test.selectSort(ary);
for(int it : ary) {
System.out.println(it);
}
}
}
C
void selectSort(int ary[], int len) {
int i, j, k, temp;
for(i=0; i<len; i++) {
k = i;
// 找出最小的元素索引
for(j=i+1; j<len; j++) {
if(ary[k] > ary[j]) {
k = j;
}
}
temp = ary[i];
ary[i] = ary[k];
ary[k] = temp;
}
}
main() {
int i;
int ary[] = {5,4,3,2,1};
selectSort(ary, 5);
for(i=0; i<5; i++) {
printf("%d", ary[i]);
}
}
分享到:
相关推荐
直接选择排序(Straight Select Sorting) 也是一种简单的排序方法,它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]~R[n-1]中选取...
直接选择排序和希尔排序是两种不同的排序算法,它们在计算机科学和编程中有着重要的应用,尤其是在数据结构和算法的学习中。下面将详细讲解这两种排序算法的原理、实现方式以及它们在C++语言中的具体实现。 **直接...
直接插入排序、冒泡排序、快速排序、直接选择排序、堆排序和二路归并排序是计算机科学中经典的排序算法,它们在数据处理和算法学习中占有重要地位。这些排序算法各有特点,适用场景不同,下面将逐一详细介绍,并结合...
直接选择排序-flash演示 可自己输入测试数据...
数据结构课程设计直接选择排序 数据结构课程设计直接选择排序 数据结构课程设计直接选择排序 数据结构课程设计直接选择排序 数据结构课程设计直接选择排序 数据结构课程设计直接选择排序 数据结构课程设计直接选择...
printf("\t4: 直接选择排序\n"); printf("\t5: 堆排序\n"); printf("\t6: 归并排序\n"); printf("\t7: 希尔排序\n"); printf("\t***************************\n"); scanf("%d",&i); //输入整数1-7,选择排序...
初学C语言必须掌握的一些基础知识,包括直接选择排序、直接插入排序、冒泡排序、快速排序。 查找算法,二叉排序树,二叉树层次遍历,二叉树非递归遍历,二叉树的建立,关键字匹配查找等。 如有问题,可随时私信。 ...
对已给定的数组进行简单的直接选择排序。 直接选择排序的基本思想: n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果: ①初始状态:无序区为R[1..n],有序区为空。 ②第1趟排序 在无序区R[1.....
本实验涉及了六种常见的排序算法:泡泡排序、直接插入排序、折半插入排序、希尔排序、直接选择排序,并且对每种排序算法进行了性能分析,包括统计执行时间、比较次数和交换次数。这些数据被保存在TXT文件中,便于...
直接插入排序、希尔排序、冒泡排序、直接选择排序、堆排序、归并排序
直接插入排序、冒泡排序和直接选择排序是三种基本的排序算法,它们在计算机科学中占有重要的地位,尤其是在数据结构和算法的学习中。这三种排序方法各有特点,适用于不同的场景,接下来我们将详细讨论它们。 首先,...
Java代码-排序-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序中部分排序以及算法-贪心法,大家可以将源码下载下来进行学习,附带着注释和解释,有不理解的可以找博主一起探讨,共同...
直接选择排序是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。这种排序方法适用于小规模数据的排序,对于...
直接选择排序是一种简单的排序算法,虽然在效率上可能不如其他高级排序算法(如快速排序、归并排序),但其基本原理和实现方式对于理解排序算法非常有帮助。在此,我们将深入探讨JavaScript如何实现直接选择排序以及...
直接插入排序 选择排序 堆排序 归并排序 快速排序 冒泡排序等七种排序方法
"基于Java语言实现的直接选择排序算法.pdf" 本文主要介绍了直接选择排序算法的原理和实现方法,并使用Java语言实现了该算法。文章首先介绍了排序的基本概念和分类,然后详细介绍了直接选择排序算法的基本思想和实现...
在上面的代码中,我们可以看到,直接选择排序的实现是通过一个 Outer Loop 和一个 Inner Loop 来实现的。Outer Loop 用于遍历整个数组,而 Inner Loop 用于依次选择最小的元素。 排序算法是计算机科学中最基本也是...
直接选择排序是一种基础的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。这种排序方式简单直观,适合小规模数据的排序。...
本话题主要探讨六种内部排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序以及堆排序。这六种排序算法各有优劣,适用于不同的场景,接下来我们将逐一进行详细阐述。 1. **直接插入排序**: 直接...