数组的选择排序

 1 /*
 2 目的:将所给数据按照从小到大的方式进行排列,并打印在控制台上.
 3 2,24,12,34,56,3,75,46
 4 */
 5
 6 /*
 7 方法:
 8 1.定义一个数组用于存储已经排列好的值并进行打印
 9 2.定义一个变量用于比较大小 并将小的值存入数组中
10 */
11
12 /*
13 注意:数组建立在堆中,故函数无需返回值,改变应用对象即可实现对数组的重新输出
14 */
15
16 class  sortNum
17 {
18     /*
19     功能:用于比较数据大小并返回大的值
20     */
21     public static void compare(int recive[])
22     {
23         int x ;
24         /*
25         运用矩阵的方法对数组进行顺序排列
26         */
27         for (int i = 0;i < recive.length;i++ )
28         {
29             for(int j=i; j<recive.length;j++)
30             {
31                 if (recive [i]> recive [j])
32                 {
33                     x = recive [i];                   //数值互换
34                     recive [i]  = recive [j];
35                     recive [j] = x;
36                 }
37             }
38         }
39     }
40
41
42
43     public static void main(String [] args)
44     {
45         int arr [] = {2,24,12,34,56,3,75,46};
46
47         System.out.println("排列前的数据为:");
48         for (int i=0;i<arr.length-1;i++ )
49             System.out.print(arr[i]+",");
50             System.out.println(arr[arr.length-1]);
51
52         compare(arr);                //调用函数
53
54         System.out.println("排列后的数从小到大依次为:");
55         int i=0;
56         if(i < arr.length)
57         for (i=0;i<arr.length-1;i++ )
58             System.out.print(arr[i]+" < ");
59         System.out.print(arr[i]);
60     }
61 }
时间: 2024-07-30 13:39:35

数组的选择排序的相关文章

数组_选择排序

随机生成一个有10个元素的数组,并找出极值. 1 #define _CRT_SECURE_NO_WARNINGS 2 3 #include<stdio.h> 4 #include<stdlib.h> 5 #include<time.h> 6 7 8 main() 9 { 10 time_t ts; 11 12 srand((unsigned int)time(&ts)); 13 14 int a[10]; 15 int i; 16 int max;//用于保存最

1.一维数组:选择排序法、二分查找法; 2.二维数据:定义、引用、初始化,二维数组与矩阵。

5-1 输入一个正整数 n (1≤n≤10)和n 阶方阵a的元素,如果方阵a中的所有元素都沿主对角线对称,输出"Yes", 否则,输出"No".主对角线为从矩阵的左上角至右下角的连线,方阵a中的所有元素都沿主对角线对称指对所有i, k,a[i][k]和a[k][i]相等 一.实验代码 #include <stdio.h> int main(void) { int found, i, k, n; int a[10][10]; scanf ("%d

数组冒泡排序、选择排序、二分查找法

1 数组高级冒泡排序原理图解[掌握] 画图演示 需求: 数组元素:{24, 69, 80, 57, 13} 请对数组元素进行排序. 冒泡排序 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 2 数组高级冒泡排序代码实现[掌握] 案例演示 数组高级冒泡排序代码 package com.heima.array; public class Demo1_Array { public static void main(String[] args) { int[] arr = {24,

选择排序基础(java实现)

算法实现: 红宝书版本: public class Selection { public static void sort(Comparable[] a) { int N=a.length; for (int i=0;i<N;i++) { int min=i; for(int j=i+1;j<N;j++) if (lessa([j],a[min])) min =j; exch(a,i,min); } } } 基于int数组的实现: public static void selectSort(i

----------------排序算法-之选择排序-------------

=======书瓖果======== 定义:首先,找到数组中最小的那个元素,其次,将它和数组中的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换).再次 结论:对于长度为N的数组,选择排序需要大约N2/2次比较和N次交换. <算法基础>给出的伪码: void selectionsort(int n, keytype s[]) { index i. j, smallest; for(i = 1; i <= n-1; i++) { smallest = i; for(j =

插入排序、选择排序的实现与性能比较

SortTestHelper.h 1 #ifndef INSERTIONSORT_SORTTESTHELPER_H 2 #define INSERTIONSORT_SORTTESTHELPER_H 3 #include <iostream> 4 #include <algorithm> 5 #include <string> 6 #include <ctime> 7 #include <cassert> 8 9 using namespace s

算法—1.选择排序

1.基本思想 首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换).再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置.如此往复,直到将整个数组排序.这种方法叫做选择排序,因为它在不断地选择剩余元素之中的最小者. 2.具体算法 /** * 选择排序 * @author huazhou * */ public class Selection extends Model{ //将a[]按升序排列 public void

选择排序、插入排序和希尔排序

一些说明 我将会写一系列关于算法的博客,因为我是程序员,并不是计算机科学家,也即我是搞工程的,并不是搞学术的,所以对于我来说,最重要的就是 1.有哪些算法 2.这些算法的原理 3.这些算法的实现 4.这些算法的效率 而其他的,相对而言,并没有那么重要,比如算法的证明,所以以后的博客都会按照上述的思维撰写. 一.首先定义一个抽象类,里面集成了排序算法所需要的共同的方法: public abstract class SortBase { public abstract Integer[] sort(

算法-选择排序

选择排序(Selection sort)是一种常见的排序算法,算法实现的逻辑每一次从待排序的数组中选出最小(或最大)的一个元素,存放在序列的第一个位置,然后生鲜的元素中选择第二小(或者第二大)的元素放在第二个位置,以此类推,将整个数组排序成功.对于一个长度为N的数组,选择排序大概需要N^2/2的比较和N次交换,运行的时间和输入无关,一个有序的数组和一个无序的数组最终运行的时间是一样的,数据移动的次数是最少的,交换数组的次数和数组的大小呈线性关系. 关键代码实现如下: -(NSMutableArr