算法:选择排序
来源:互联网 发布:淘宝热带鱼活体 编辑:程序博客网 时间:2024/06/09 04:10
1、核心算法
/** * 核心算法 */class ArraySel{ private long[] a;//定义排序数组 private int nElems;//定义数组大小 public ArraySel(int max){ a[nElems] = value; nElems ++; } /** * 打印 */ public void display(){ for(int j = 0; j< nElems; j++){ System.out.print(a[j] + " "); } System.out.println(" "); } /** * 排序 */public void selectionSort(){// 业务逻辑:将最小的数交换到最小下标。自增后,在讨论剩下的最小数,并交换到当前范围的最小坐标, int out, in, min; for(out = 0; out<nElems-1; out ++){ //从第一个数组开始 min = out; //假设最小的数为第一个,并记下其下标 for(in = out +1; in<nElems; in++){ //遍历比最小数以后的数组 if(a[in] < a[min]){ //当后面的数组存在比假设的最小数要小的时候 min = in; //记下虽小的坐标 } swap(out, min);//交换 } } } /** * 交换 */ private void swap(int one, int two){ long temp = a[one]; a[one] = a[two]; a[two] = temp; }}
2、运行并试执行:
class SelectSortApp{ public static void main(String[] args){ int maxSize = 100; ArraySel arr; arr = new ArrauSel(maxSize);//插入数据 arr.insert(77); arr.insert(99); arr.insert(44); arr.insert(55); arr.insert(22); arr.insert(88); arr.insert(11); arr.insert(00); arr.insert(66); arr.insert(33); arr.display();//打印数据-排序前 arr.selectionSort();//排序 arr.display();//打印数据-排序后 }}
3、运行结果:
77 99 44 55 22 88 11 0 66 330 11 22 33 44 55 66 77 88 99
Reference:
[1] Robert Lalore(著) 计晓云,赵研,曾希,狄小菡(译), Java数据结构和算法(第二版),中国电力出版社,2004 :63-65阅读全文
0 0
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法--选择排序
- 排序算法---选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法---选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 算法-排序-选择排序
- 排序算法:选择排序
- 排序算法---选择排序
- 排序算法:选择排序
- 排序算法--选择排序
- 算法排序 -- 选择排序
- dts解析
- Uva 10755 Garbage Heap(三维最大子矩阵)
- Django学习01---基本介绍与运行方式
- 2017年8月17日(模拟8smoj2066,2067,2068质因子求组合,线段树求逆序对,深度搜索
- mybatis 使用 AND OR 查询
- 算法:选择排序
- JPA EntityManager详解
- Atlassian JIRA 授权许可证机制分析
- 哈哈日语 别人对你说了“斯密马森”,该怎么回?
- 解决windows下tomcat端口被占用
- 爬虫实例(一)
- [LWIP学习]--pbuf_realloc函数分析
- Linux下用phpstudy安装mysql,设置忽略表名大小写
- 牛客网-剑指offer-二维数组查找