用选择法对10个整数按从小到大排序(数组)

用选择法对10个整数按从小到大排序,要求使用数组。

算法思想:

第一次选择:从10个整数中挑出其中最小的整数,拿出来;

第二次选择:从余下的9个整数中挑出其中最小的整数,拿出来,放到上一次挑出的数的后面;

第三次选择:从余下的8个整数中挑出其中最小的整数,拿出来,放到上一次挑出的数的后面;

…………

以此类推,直到全部挑完。

#include "stdafx.h"

#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

cout<<"请输入10个整数"<<endl;

int a[10],i,b[10],j,n=0;

for(i=0;i<10;i++)

{

cin>>a[i];         //输入10个数,依次放到数组a里。

}

for(j=1;j<=10;j++)         //共要进行10次选择

{

for(i=0;i<10-j;i++)              //这个循环将挑出余下数中最小的数

{

int t;

if(a[i]<a[i+1])

{

t=a[i];a[i]=a[i+1];a[i+1]=t;

}

}

b[n]=a[10-j];           //将挑出的数依次放到数组b里

n++;

}

for(n=0;n<10;n++)

{

cout<<b[n]<<" ";       //按顺序输出数组b里存放的数

}

return 0;

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 08:26:52

用选择法对10个整数按从小到大排序(数组)的相关文章

用选择法对10个整数排序

------------------------------------------------------------------------------------------------------ 选择排序:是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完. 选择排序是不稳定的排序方法(比如序列[2, 2, 0]第一次就将第一个[2]与[0]交换,导致第一个2挪动到第二个2后面). -----------------------

指针选择排序法,10个整数从小到大排序

//指针方法,选择排序法对10个int按从小到大排列 #include<stdio.h> main() { int n=10,i,b,a[10],*p; int sort(int *q,int n); // scanf("%d",&10); for(p=a;p<a+10;p++)//键盘输入数组元素 scanf("%d",p); p=a;//超重要!!!!!!!!!!不能忘 sort(p,10);//调用函数 for(p=a;p<a+

js实现随机选取[10,100)中的10个整数,存入一个数组,并排序。 另考虑(10,100]和[10,100]两种情况。

1.js实现随机选取[10,100)中的10个整数,存入一个数组,并排序. 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 <script type="text/java

作业:例题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

编一个程序,输入10个整数,并放在数组中,先降序输出全部的数,再统计并输出当中正数、负数和零的个数

public class Demo1 { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(-1); list.add(-2); list.add(-4); list.add(0); list.add(2); list.add(5); list.add(9); list.add(7); list.add(-9); list.add(-7);

键盘输入三个整数,实现从小到大排序

package study01; import java.util.Scanner; public class Sort { /** * 需求:由键盘输入三个整数分别存入变量a.b.c,对他们进行 排序(使用if-else),并且从小到大输出 * */ public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("a="); int a = sc.nextI

OJ刷题之《选择法排序》

题目描述 用选择法对10个整数从小到大排序. 输入 10个整数 输出 排序好的10个整数 样例输入 4 85 3 234 45 345 345 122 30 12 样例输出 3 4 12 30 45 85 122 234 345 345 代码如下: #include <iostream> using namespace std; int main() { int i,j,min,temp,a[11]; for (i=0; i<10; i++) { cin>>a[i]; } f

C语言常见的排序方法——冒泡法、选择法、插入法

当我们要对C中一组数据进行排序是常见的排序方法有冒泡法.选择法.插入法 冒泡排序法(升序):假设一组数据a[0].a[1].a[2].a[3]...a[n],第一轮:先比较a[0]与a[1].a[1]与a[2]...a[i]与a[i+1]...a[n-1]与a[n]的大小,如果a[i]与a[i+1]不是升序(即a[i] > a[i+1]),那么就将a[i]与a[i+1]的值互换,第一轮过后,a[n]就是最大值:第二轮:运用第一轮同样的方法,比较a[0]与a[1].a[1]与a[2]...a[i]

将10个整数用指针从小到大排列

/* *Copyright(c)2014,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者: 杨汉宁 *完成日期:2014年 12月 8日 *版本号:v1.0 * *问题描述:体验将10个整数用指针从小到大排列 *程序输入: *程序输出: */ #include <iostream> using namespace std; int main() { void Fx(int*m,int n); int a[10],i; cout<<