`
lengreen1221
  • 浏览: 3553 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
最近访客 更多访客>>
社区版块
存档分类
最新评论

一维数组选择排序 递归和两次循环实现

阅读更多
package lengreen.sort;

import java.util.Random;

import lengreen.pub.U;

public class ChooseSort {
	public static void main(String[] args) {
		int[] arr = {12, 23, 9, 24, 15, 3, 18};
		U.prtArr1D(arr);
//		recursionSort(arr, 0);
		commonSort(arr);
		U.prtArr1D(arr);
	}
	
	/**
	 * 递归排序
	 * @param arr
	 */
	private static void recursionSort(int[] arr, int index) {
		if(index < arr.length) {
			for (int i = 0; i < arr.length; i++) {
				if(arr[index] < arr[i]) {
					int tmp = arr[index];
					arr[index] = arr[i];
					arr[i] = tmp;
				}
			}
			index ++;
			recursionSort(arr, index);
		}
	}
	
	/**
	 * 通常选择排序
	 * @param arr
	 */
	private static void commonSort(int[] arr) {
		int n = arr.length;
		for (int i = 0; i < n; i++) {
			for(int j = i + 1; j < n; j++) {
				if(arr[i] > arr[j]) {
					int tmp = arr[j];
					arr[j] = arr[i];
					arr[i] = tmp;
				}
			}
		}
	}
}
 

 

分享到:
评论

相关推荐

    数据结构与算法.xmind

    分配一个[array.length][10列]的二维数组来装我们的元素 最外层for循环控制要分配和回收的次数(根据最大值) 将元素的个、十、百位依次放到桶子上(第一次就是放个位,第二次放十位) 依据每列...

    javascript入门笔记

    1、从弹框中,分两次输入两个数字,分别保存在 a 和 b中 2、如果 a 大于 b的话 ,则交换两个数字的位置 使用 短路&&,扩展赋值运算符,位运算 4、条件运算符(三目运算) 单目(一元)运算符 :++,--,! 双目(二元)...

    php常用算法(doc)

    思路:每一行的第一位和最后一位是1,没有变化,中间是前排一位与左边一排的和,这种算法是用一个二维数组保存,另外有种算法用一维数组也可以实现,一行一行的输出,有兴趣去写着玩下。 11 11 2 11 3 3 11 4 6 4 ...

    c语言经典案例

    实例105 求二维数组对角线之和 136 实例106 模拟比赛打分 137 实例107 矩阵的转置 139 实例108 设计魔方阵 141 实例109 字符升序排列 142 实例110 在指定位置插入字符 144 实例111 删除字符串中的连续字符 146 实例...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例101 使用快速排序法对一维数组进行排序 119 实例102 使用直接插入法对一维数组进行排序 121 实例103 使用希尔排序法对一维数组进行排序 122 实例104 使用Sort方法对数组进行快速排序 124 实例105 反转数组中元素...

    《javaScrip开发技术大全》源代码

    • sample07.htm 在同一个HTML文档中多次引用外部脚本文件 • sample08.htm 使用外部脚本文件和嵌入的JavaScript代码 • sample09.htm 边加载边解析的JavaScript代码 • sample10....

    C程序范例宝典(基础代码详解)

    实例065 输出二维数组任一行任一列值 81 实例066 使用指针查找数列中最大值、最小值 83 实例067 用指针数组构造字符串数组 84 实例068 将若干字符串按照字母顺序输出 85 2.3 指针与函数 86 实例069 用...

    C 程序指导书及实践指导

    现在要你设计一个程序,返回一个3 * 5 的二维数组各元素的地址,并由此说明二维数组中各元素是按什么顺序存诸的。 4、为一个起泡排序程序设计测试用例,并测试之。 [分析讨论] 通过实验,分析定义与引用数组的区别。...

    数据结构(C++)有关练习题

    内容及步骤: 1、 设有一个线性表(e0,e1,e2,e3,…,en-2,en-1)存放在一个一维数组A[arraySize]中的前n个数组元素位置。请编写一个函数将这个线性表原地逆置,即将数组的前n个原地址内容置换为(en-1,en-2,…,e3,...

    C语言通用范例开发金典.part1.rar

    1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 1.1.3 一维数组的高级应用 5 范例1-3 一维数组的高级应用 5 1.1.4 显示杨辉三角 7 ...

    C语言通用范例开发金典.part2.rar

    1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 1.1.3 一维数组的高级应用 5 范例1-3 一维数组的高级应用 5 1.1.4 显示杨辉三角 7 ...

    计算机二级公共基础知识

    例如,在一维数组[21,46,24,99,57,77,86]中,查找数据元素99,首先从第1个元素21开始进行比较,比较结果与要查找的数据不相等,接着与第2个元素46进行比较,以此类推,当进行到与第4个元素比较时,它们相等,...

    Java范例开发大全 (源程序)

     实例55 一维数组的创建与使用 78  实例56 按相反的顺序输出 79  实例57 奇偶分组 80  实例58 找宝 81  实例59 寻找最小数 82  实例60 我的位置在哪里 83  实例61 复制数组 85  实例62 插入新元素 86...

    java范例开发大全(pdf&源码)

    实例55 一维数组的创建与使用 78 实例56 按相反的顺序输出 79 实例57 奇偶分组 80 实例58 找宝 81 实例59 寻找最小数 82 实例60 我的位置在哪里 83 实例61 复制数组 85 实例62 插入新元素 86 实例63 数组的合并 87 ...

    java范例开发大全源代码

     实例55 一维数组的创建与使用 78  实例56 按相反的顺序输出 79  实例57 奇偶分组 80  实例58 找宝 81  实例59 寻找最小数 82  实例60 我的位置在哪里 83  实例61 复制数组 85  实例62 插入...

    C 开发金典

    1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 1.1.3 一维数组的高级应用 5 范例1-3 一维数组的高级应用 5 1.1.4 显示杨辉三角 7 ...

Global site tag (gtag.js) - Google Analytics