用选择法对数组中10个整数进行排列

#include <iostream>
using namespace std;

void select_sort(int array[],int n){
    int i,j,k,t;
    for(i=0;i<n-1;i++){
        k=i;
        for(j=i+1;j<n;j++){
            if(array[j]<array[k]){
            k=j;
            }
            t=array[k];
            array[k]=array[i];
            array[i]=t;
        }
    }
}
int main(){
    int a[10]={3384,32874,2364,236476,63,63,37};
    select_sort(a,10);
    for(int i=0;i<10;i++){
        cout<<a[i]<<"  ";
    }
    cout<<endl;
}

时间: 2024-10-30 11:11:52

用选择法对数组中10个整数进行排列的相关文章

作业:例题5.7 用选择法对数组中10个整数按由小到大排序。要求使用函数的方法。

#include <iostream> using namespace std; void select_sort(int array[],int n){ int i,j,k,t; for(i=0;i<n-1;i++){ k=i; for(j=i+1;j<n;j++){ if(array[j]<array[k]){ k=j; } t=array[k]; array[k]=array[i]; array[i]=t; } } } int main(){ int a[10]={84

用选择法对数组中n个整数按由小到大排序

#include <stdio.h> void sort(int a[], int n) { int i, t, j; for(i=0; i<n-1; i++) { for(j=i+1; j<n; j++) { if(a[j]<a[i]) { t=a[i]; a[i]=a[j]; a[j]=t; } } } } int main() { int n; scanf("%d", &n); int a[n], i; for(i=0; i<n; i+

怎么找数组中10个元素最大和最小值

int max(int a[15]){ int max = a[0];   //定义max为数组的第一个元素的值 for (int i = 1; i<10; i++)  max = a[i]>max ? a[i] : max;    //轮流比较数组中10个元素,并找出最大值 return max;} int min(int a[10]){ int min = a[0];   //定义min为数组的第一个元素的值 for (int i = 1; i<10; i++)  min = a[i

c语言:将数组中n个整数按相反顺序存放。

将数组中n个整数按相反顺序存放. 解:程序1: #include<stdio.h> int inv(int x[], int n) { int temp, i, j, m = (n - 1) / 2; for (i = 0; i <= m; i++) { j = n - 1 - i; temp = x[i]; x[i] = x[j]; x[j] = temp; } return; } int main() { int i, a[10] = { 1,2,3,4,5,6,7,8,9,10 }

在一个每一行从左到右递增每一列从上到下递增的二维数组中查找一个整数是否存在——3

给定一个二维数组,数组的特点是:每一行从左到右数据大小依次递增,每一列数据从上到下依次递增,要求判断一个整数是否在这个二维数组中: 设计二维数组如下: 首先,毋庸置疑的的是,遍历一遍数组肯定能判断出来,这也是最笨的方法了,因此,要想提高程序的运行效率就得找出一种高效的方法来查找: 一开始的想法大概都能想到从数组第一行第一列的数开始沿着对角线判断,如果是对角线数据就可以直接返回,比如我们要想查找17这个数,这时候17比0.9.16都要大,因此以0.9.16为对角线的矩形数据就可以排除了,接下来判断

寻找数组中缺少的整数(Find the missing integer)

数组a中含有N个元素,其元素属于[0,N]之间,且不存在重复的元素,请你找出数组中缺失的元素(因为[0,N]之间有N+1个元素,而数组只能存储N个元素,所以必然缺少一个元素).其中对数组的操作满足下列的条件:不能在常数时间内读取数组中的元素,但是可以读取数组中元素的某一个bit值,能够在常数时间内交换数组的两个元素的位置.请设计一种算法使其能够在线性时间内找出数组中缺失的元素.(N=2^k) An array a[] contains all of the integers from 0 to

冒泡法、选择法、插入法、二分法

小序 排序是非常重要且很常用的一种操作,有冒泡排序.选择排序.插入排序.希尔排序.快速排序.堆排序等多种方法.这里我们先简单介绍前三种排序算法和代码的实现,其余算法将在后续课程<数据结构>中学习到.算法只是一种思想,其实现依赖于数据结构,所以这里提取出一些典型的算法和数据结构,包括排序以及链表/堆栈/队列等结构的操作. ------------------------------------------------------ 冒泡法排序 数组中有N个整数,用冒泡法将他们从小到大(或从大到小)

选择问题(选择数组中第K小的数)

由排序问题可以引申出选择问题,选择问题就是选择并返回数组中第k小的数,如果把数组全部排好序,在返回第k小的数,也能正确返回,但是这无疑做了很多无用功,由上篇博客中提到的快速排序,稍稍修改下就可以以较小的时间复杂度返回正确结果. 代码如下: #include<iostream> using namespace std; #define Cutoff 3 int A[13] = {81,94,11,96,12,35,17,95,28,58,41,75,15}; void Swap(int &

(回溯法)数组中和为S的N个数

Given a list of numbers, find the number of tuples of size N that add to S. for example in the list (10,5,-1,3,4,-6), the tuple of size 4 (-1,3,4,-6) adds to 0. 题目: 给一数组,求数组中和为S的N个数 思路: 回溯法,数组中每个数都有两种选择,取或者不取: 当选择的数等于N时,则判断该数之和是否等于S. 代码: #include <io