选择排序法 当数据量较小的时候,使用基本排序方案并不会显著影响程序性能。 选择排序是十分常用的基本排序方案之一。

/*	选择排序法
 当数据量较小的时候,使用基本排序方案并不会显著影响程序性能。
 选择排序是十分常用的基本排序方案之一。
 它的每一趟排序都从一个序列中选择最小的那个元素, 加入到逐步扩展的已排序序列。
 初始的时候,已排序序列为第一个元素,待排序序列为剩下的所有元素,即从第二个元素到结尾。
 下面的代码演示了对int数组中的n个元素进行基本选择排序。
 请仔细阅读并分析代码,填写空白处的代码,使得程序的逻辑合理,结果正确。
 【注意】
 只填写缺少的部分,不要抄写已有的代码。
 所填写代码不超过1条语句(句中不会含有分号)
 所填代码长度不超过256个字符。
 答案写在“解答.txt”中,不要写在这里!
 */
public class 选择排序法 {
	public static void sel_sort(int[] x, int n){
		int k, i, m, t;
		for(k=0; k<n-1; k++){  // 多趟排序
			m = k;  // 填空1
			for(i=k+1; i<n; i++){
				if(x[i] < x[m]) m = i;  // 填空2
			}
			t = x[k];
			x[k] = x[m];
			x[m] = t;
		}
	}
	public static void display(int[] x, int n) {
		for (int i = 0; i < n; i++)
			System.out.printf("%d ", x[i]);
		System.out.printf("\n");
	}

	public static void main(String[] args) {
		int N = 10;
		int a[] = { 5, 12, 35, 28, 19, 22, 36, 17, 4, 11 };
		display(a, N);
		sel_sort(a, N);
		display(a, N);
	}
}
运行结果:
5 12 35 28 19 22 36 17 4 11 
4 5 11 12 17 19 22 28 35 36 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值