选择排序
来源:互联网 发布:淘宝市场行情标准版 编辑:程序博客网 时间:2024/06/05 15:28
进行选择排序,是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完)
1.记录第一个元素位置,并与其右边的每个元素挨个比较大小;
2.如果右边的元素小,则将记录的位置换成小元素位置;
3.与右边的所有元素比较完成后,记录的元素位置是所有元素中最小元素位置;
4.将最小元素与第一位置元素交换。
5.按照上述步骤,依次对后续位置元素操作,完成所有元素排序。
外部嵌套控制排好序元素边界,
min记录起始位置,
内部嵌套进行比较,更新位置
package com.zcl.selecteSort;public class ArraySel { private long[] a; private int nElems; public ArraySel(int max) { this.a = new long[max]; this.nElems = 0; } public void insert(long value) { a[nElems] = value; nElems++; } public void display(){ for(int j=0;j<this.nElems;j++){ System.out.print(a[j] + " "); } } public void selectSort(){ int out,in,min; for(out=0;out<this.nElems-1;out++){ min = out; for(in=out+1;in<this.nElems;in++){ if(a[in]<a[min]){ min = in; } } if(out!=min){ swap(out,min); } } } private void swap(int one,int two) { long tem = a[one]; a[one] = a[two]; a[two] = tem; } public static void main(String[] args) { int maxSize = 100; ArraySel arr = new ArraySel(maxSize); arr.insert(77); arr.insert(88); arr.insert(33); arr.insert(11); arr.insert(99); arr.insert(66); arr.insert(22); arr.insert(44); arr.insert(55); arr.display(); System.out.println(); arr.selectSort(); arr.display(); }}
0 0
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序:
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- [算法练习]插入排序的C语言实现
- [编程题]跳石板
- 【web开发】:Intellij Idea创建web项目
- 拓扑排序
- 在Spark集群中,集群的节点个数、RDD分区个数、cpu内核个数三者与并行度的关系??
- 选择排序
- 实习第三天
- 浙江工业大学校赛 小M和天平
- 获得排序索引函数改进
- SQLite3的面向对象封装FMDB
- Handler深入解析(Looper,MessageQueue联系)
- 深度学习之CNN
- 浅析CPU中断技术
- [JVM]Java垃圾回收机制