对10个数进行排序

题目:对10个数进行排序

程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。

 1 package com.li.FiftyAlgorthm;
 2
 3 import java.util.Scanner;
 4
 5 /**
 6  * 题目:对10个数进行排序 程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,
 7  * 下次类推,即用第二个元素与后8个进行比较,并进行交换。
 8  * @author yejin
 9  */
10 public class NumberSort {
11     public static void main(String[] args) {
12         Scanner s = new Scanner(System.in);
13         int[] a = new int[10];
14         for (int i = 0; i < 10; i++) {
15             a[i] = s.nextInt();
16         }
17         for (int i = 0; i < 10; i++) {
18             for (int j = i + 1; j < 10; j++) {
19                 if (a[i] > a[j]) {
20                     int t = a[i];
21                     a[i] = a[j];
22                     a[j] = t;
23                 }
24             }
25         }
26
27         for (int i = 0; i < 10; i++) {
28             System.out.print(a[i] + " ");
29         }
30
31     }
32 }
时间: 2024-12-09 23:57:32

对10个数进行排序的相关文章

2.用选择排序对10个数进行排序

[原理] 首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置:接着,再从剩余未排序的元素中继续寻找最小(or最大)元素,然后放到已排序序列的末尾.以此类推,直到所有元素均排序完毕. [复杂度和稳定性] (1)选择排序时间复杂度选择排序的时间复杂度是O(N2).假设被排序的数列中有N个数.遍历一趟的时间复杂度是O(N),需要遍历N-1.因此,选择排序的时间复杂度是O(N2). (2)选择排序稳定性选择排序是稳定的算法,它满足稳定算法的定义.算法稳定性 -- 假设在数列中存在

1.用冒泡法对10个数排序

[原理] 它是一种较简单的排序算法.它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小:如果前者比后者大,则交换它们的位置.这样,一次遍历之后,最大的元素就在数列的末尾. 采用相同的方法再次遍历时,第二大的元素就被排列在最大元素之前.重复此操作,直到整个数列都有序为止. [复杂度] 冒泡排序的时间复杂度是O(n2),空间复杂度是O(n),是一种稳定的排序算法. 需要注意的是:每一轮冒泡后,最后一个数必然是这一轮排序完的最大值,下一轮不必再参与冒泡.所以,内部循环的上

三个数由小到大排序

1 #include <stdio.h> 2 3 int main(void) 4 { 5 int a,b,c; 6 int temp; 7 printf("please input a b c\n"); 8 scanf("%d %d %d",&a,&b,&c); 9 10 if(a>b) 11 { 12 temp=a; 13 a=b; 14 b=temp; 15 16 } 17 if(a>c) 18 { 19 tem

R语言-找出向量或矩阵中的最大10个数

一.向量 最大10的数的索引(位置),可先按降序排序,得到索引号,然后将前10个取出即可. 建议方法: order(x,decreasing=TRUE)[1:10] 过程详解: 1.测试数据x > x [1] 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.09 0.20 0.09 0.08 0.14 0.14 0.23 [15] 0.08 0.06 0.12 0.20 0.14 0.11 0.20 0.14 0.17 0.15 0.18 0.15 0.20 0.12

输入10个数,将其中最小的数与第一个对换,最大的数与最后一个对换

输入10个整数,将其中最小的数与第一个数对换,将最大的数与最后一个数对换. 写三个函数:1.输入10个整数 2.进行处理 3.输出10个数 #include "stdafx.h" #include<iostream> using namespace std; int array[10],*p; //第一个函数,输入数字 void shuru(int *p) { cout<<"请输入十个整数:"<<endl; for(int i=0

欧拉计划013(ProjectEuler013):求出10个数乘积最大的

申明:之前的所有欧拉计划都是用python来写的,的确python来写,代码量极少,学习起来也很方便.但是最近为了找java工作,所以用Java来完成欧拉计划的题,来复习一下Java. Large sum Problem 13 Work out the first ten digits of the sum of the following one-hundred 50-digit numbers. 371072875339021027987979982208375902465101357402

编程题:已知一个一维数组a[10]中有10个数,求出第m个数到第n个数的和。其中m、n由键盘输入。

#include<stdio.h> int sum(int *q,int n) { int i,s=0; for(i=0;i<n;i++,q++) s+=*q; return s; } void main() { int n,m,a[10]={1,2,3,4,5,6,7,8,9,10}; int *p; printf("Please input m and n(m<n<10):\n"); scanf("%d,%d",&m,&am

shell &nbsp; 随机生成10个数,找出最大值

分析:随机生成10个数?  生成随机数,这里用RANDOM函数,我把生成的这10个数定义为一个数组array,定义MAX的初始值为array[0] 使用for循环进行与每一个元素的值进行比较,如果有比array[0]大的,假如array[3]比array[0]大,那么就把array[3]的值赋值给MAX,遍历比较每个数组元素,最后输出MAX的值即可! 看看执行情况....                      文本 #!/bin/bash #Author:wangergui       Em

求10个数中的最大值

求10个数中的最大值: 求数组长度:sizeof(arr) / sizeof(arr[0]) #define _CRT_SECURE_NO_WARNING #include<stdio.h> #include<stdlib.h> int main() { int arr[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int i = 0; int max = arr[0]; for (i = 1; i < sizeof(arr) / sizeo