数组_选择排序

随机生成一个有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;//用于保存最大值
17     int maxi;//用于保存最大值的下标
18     int min;
19     int mini;
20
21     for (i = 0;i < 10;i++)
22     {
23         a[i] = rand() % 100;
24         printf("%d,%x\n", a[i], &a[i]);
25     }
26
27     max = a[0];//假设第一个是最大的数
28     maxi = 0;//
29     min = a[0];//假设第一个是最小的数
30     mini = 0;//
31
32     for (i = 1;i < 10;i++)//选择比较
33     {
34         if (a[i] > max)
35         {
36             max = a[i];
37             maxi = i;
38         }
39     }
40
41     for (i = 1;i < 10;i++)//选择比较
42     {
43         if (a[i] < min)
44         {
45             min = a[i];
46             mini = i;
47         }
48     }
49
50     printf("最大值是%d,下标是%d\n", max, maxi);
51     printf("最小值是%d,下标是%d\n", min, mini);
52
53     system("pause");
54 }
时间: 2024-10-10 01:24:06

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

数组常见的操作_选择排序

排序分类:       内部排序:就是将需要处理的所有数据都加载到内部存储器中进行排序                交换式排序法:是运用数值较后,依判断规则对数据位置进行交换,以达到排序的目的                    冒泡排序法(Bubble Sort)                    快速排序法(Quick Sort)                选择式排序法:                     选择排序法(Select Sort)                

排序高级之选择排序_选择排序

选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理如下.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾.以此类推,直到所有元素均排序完毕. 选择排序的主要优点与数据移动有关.如果某个元素位于正确的最终位置上,则它不会被移动.选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换.在所有的完全依靠交换去移动元素的排序方

数据结构_选择排序

选择排序介绍 选择排序(Selection sort)是一种简单直观的排序算法.它的基本思想是:首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置:接着,再从剩余未排序的元素中继续寻找最小(or最大)元素,然后放到已排序序列的末尾.以此类推,直到所有元素均排序完毕.  总结:两个for循环=一个for喜欢i=0-(n-1)+一个for循环寻找比i小的数组的坐标用min存起来+一个交换的过程 /* * 设置一个参考存储坐标,和冒泡的区别是不需要频繁的移动交换,它只需要找坐标

php排序介绍_冒泡排序_选择排序法_插入排序法_快速排序法

这里我们介绍一些常用的排序方法,排序是一个程序员的基本功,所谓排序就是对一组数据,按照某个顺序排列的过程. 充效率看 冒泡排序法<选择排序法<插入排序法 排序分两大类: 内部排序法 交换式排序法 冒泡法 基本思想: 冒泡排序法 案例: 1234567891011121314151617181920212223242526 //简单的$arr=array(0,5,-1); //现在我们把函数毛片封装成函数,利用以后使用//数组默认传递的是值,不是地址,&是地址符function bubb

java常见数据算法_选择排序

选择排序的原理:遍历所有的元素,得到最小的元素,并将最小的元素与左边第一个元素进行交换,再次遍历除了第一个位置的所有元素,得到最小的元素,与左边第二个元素进行交换.当进行第二次遍历的时候,将最小的元素与左边的第二个元素进行交换,如此循环遍历,即可得到排序后的元素.Demo实现的基本基本步骤:1.准备数组2.编写常见的数组操作方法3.编写选择排序的方法4.测试选择排序具体参考如下:package com.zcp.ch03; /** @author Administrator 冒泡排序的实现*/pu

看数据结构写代码(67) 置换 _ 选择排序(完结篇)

杂谈: 严蔚敏版<数据结构(C语言版)> 一书 终于看完了.这是 一个完结,也是 一个新的开端.<算法导论> 已到手. 置换选择排序的思想 是 将 归并段 尽量 变的 更大,而不是根据 内存 大小 限制在 固定的 大小. 这样 可以 利用赫夫曼树 来 进行 最优归并树,从而 使 外存 读写次数 最少. 下面给出 具体 代码:欢迎指出代码不足. // Replace_Selcetion.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h&q

算法_选择排序

一.为什么学了之后过段时间又会忘记了? 因为没有去运用它和认为面试需要而没有真正的重视.现在给它赋予意义:1.那就是基础牢固,才可触类旁通2.真正记得和随时可以拿出手,那么面试可以PK掉一大批人.不然看到一个精妙的算法就学一个,永远只是学到某一个而没有自己的思维在里面. 二.选择排序算法代码 #include <iostream> using namespace std; void selectionSort(int arr[],int n){ for (int i = 0; i < n

01_排序_选择排序

[基本原理] 对于给定的一组数据,经过第一轮比较后得到最小的数据,然后将该数据与第一个数据的位置进行交换: 然后对不包括第一个数据以外的其它数据进行第二轮比较,得到最小的数据并与第二个数据进行位置交换: 重复该过程,直到进行比较的数据只有一个时为止. [举例] 待排序数组 [38,65,97,76,13,27,49] 排序过程 第一趟:[13,65,97,76,38,27,49] 第二趟:[13,27,97,76,38,65,49] 第三趟:[13,27,38,76,97,65,49] 第四趟:

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