1、实现过程

定义整型数组src,长度为10,初始化为{11,12,47,24,49,69,90,89,18,39}。之后用嵌套for循环比较相邻两个元素的大小,如果前一个元素大于后一个,不做任何操作;反之,相互交换。在交换的过程中需要临时变量暂时存放第一个元素的值,命名为temp。

2、实现代码

  • 选择排序
#include <iostream>
using namespace std;

int main()
{
    int src[10] = {11,12,47,24,49,69,90,89,18,39};//一维数组中包含10个整数
    //从大到小排序
    for(int i = 0; i < 10; i++)
    {
        for(int j = i+1; j < 10; j++)
        {
            if(src[i]<src[j])    //如果前一个元素小于后一个元素
            {
                int temp;        //临时变量
                temp = src[i];
                src[i] = src[j]; //大的元素到前一个位置
                src[j] = temp;   //小的元素到后一个位置
            }
        }
    }
   // 输出各元素
    for(int k = 0; k < 10; k++)
        cout<<src[k]<<endl;

    return 0;
}
  • 冒泡排序
#include <iostream>
using namespace std;

int main()
{
    int src[10] = {11,12,47,24,49,69,90,89,18,39};//一维数组中包含10个整数
    //从大到小排序
    for(int i = 0; i < 10; i++)
    {
        for(int j = 0; j < 10 - i - 1; j++)
        {
            if(src[j]<src[j+1])    //如果前一个元素小于后一个元素
            {
                int temp;        //临时变量
                temp = src[j];
                src[j] = src[j+1]; //大的元素到前一个位置
                src[j+1] = temp;   //小的元素到后一个位置
            }
        }
    }
   // 输出各元素
    for(int k = 0; k < 10; k++)
        cout<<src[k]<<endl;

    return 0;
}

3、额外学习VBS

Sub test()

Dim arr, Select_Sort

arr = Array(5, 8, 5, 2, 9)

' 冒泡排序
For i = 0 To UBound(arr)
    For j = 0 To UBound(arr) - i - 1
        Debug.Print arr(i); "=="; arr(j + 1)
        Debug.Print j; "=="; j + 1
        If arr(j) > arr(j + 1) Then vSwap = arr(j): arr(j) = arr(j + 1): arr(j + 1) = vSwap
    Next
Next

For i = 0 To UBound(arr)
    Debug.Print arr(i)
Next

' 选择排序
Select_Sort = Array(5, 8, 5, 2, 9)

' 选择排序
For i = 0 To UBound(Select_Sort)
    For j = i + 1 To UBound(Select_Sort)
        Debug.Print Select_Sort(i); "=="; Select_Sort(j)
        Debug.Print i; "=="; j
        If Select_Sort(i) > Select_Sort(j) Then vSwap = Select_Sort(i): Select_Sort(i) = Select_Sort(j): Select_Sort(j) = vSwap
    Next
Next

For i = 0 To UBound(Select_Sort)
    Debug.Print Select_Sort(i)
Next

End Sub

【C++】数组-整数从大到小排序的更多相关文章

  1. 37-Arrays.sort() 由大到小排序 和 对象数组排序

    1. 由大到小排序: 2. 对象数组排序: 1. 由大到小排序: 注意:必需是Integer 类型的数组!!! 方法一: import java.util.Arrays; import java.ut ...

  2. 数据结构:堆排序 (python版) 小顶堆实现从大到小排序 | 大顶堆实现从小到大排序

    #!/usr/bin/env python # -*- coding:utf-8 -*- ''' Author: Minion-Xu 小堆序实现从大到小排序,大堆序实现从小到大排序 重点的地方:小堆序 ...

  3. hashmap先按照value从大到小排序,value相等时按照key从小到大排序

    hashmap先按照value从大到小排序,value相等时按照key从小到大排序. [2]是从小到大排序,在[2]代码基础上交换o1,o2位置即可. 代码中用到[1]中提到的在value相等时再比较 ...

  4. 查看进程,按内存从大到小 ,查看进程,按CPU利用率从大到小排序

    查看进程,按内存从大到小 ps -e -o "%C : %p : %z : %a"|sort -k5 -nr 查看进程,按CPU利用率从大到小排序 ps -e -o "% ...

  5. Java中通过Array.sort()对数组从大到小排序

    package com.itheimajavase; import java.util.Arrays; import java.util.Comparator; public class Day01 ...

  6. P1020 从大到小排序

    题目描述 给你n个整数,请你按照从大到小的顺序输出它们. 输入格式 输入的第一行包含一个整数 \(n(1 \le n \le 10^3)\) ,用于表示元素的个数. 输入的第二行包含 \(n\) 个整 ...

  7. 嵌入式-C语言基础:快速选择排序实现从大到小排序

    #include<stdio.h> int main() { /*简单选择排序:从大到小:一共比较sizeArr-1轮,每一轮的第一个数是arr[i],第一个数依次和它后面的每个数比较*/ ...

  8. 存在一个足够大的二维数组,每个数组中的值都是整数,使用javascript如何实现按每个数组中的平均值,从大到小排序这个二维数组?

    这是牛客网上的一道题~ 题意:对数组排序,顺序是按照数组的平均值,即按照一个元素和平均值相减的绝对值的大小来排序...本例按这个绝对值递增排序 解题思想:先求出这个数组的平均值,如果 a<b,那 ...

  9. java数组排序问题:array.sort()是从小到大排序,那么如何从大到小排序?

    别告诉我从i=a.length开始打印然后i--!因为数组没变啊,只是打印顺序变了.有木有啥别的方法,除了冒泡插入选择.. nteger [] array=new Integer[]{1,2,3,4, ...

随机推荐

  1. BZOJ5089 最大连续子段和(分块)

    假设所有操作都是对整个序列的.考虑每个子区间,区间和与其被加的值构成一次函数关系.最大子段和相当于多个子区间取最大值,答案显然就在这些一次函数构成的下凸壳上.如果预处理出凸壳,只要在凸壳上暴力跳就可以 ...

  2. PHP 字符串数组按照拼音排序的问题

    拼音排序的规则: 字符串包括特殊字符.数字.英文字符.中文字符等等,排序结果要求,特殊字符排在第一梯队,将其按照首个字符ascii码表进行排序,数字字符排在第二梯队,将首个字符数字按照数字大小排序,英 ...

  3. yii2 查询数据库语法

    $query0 = ImGroupUser::find()->where(['gid'=>'56680dfc60b215d62104a4d8'])->select('user_cli ...

  4. 用Gradle命令行编译Android工程

    在Android sdk 目录下的samples/android-21/ 文件夹下,任找一个工程,如果在命令行直接编译 可能会报这种错误:gradle buile.gradle FAILURE: Bu ...

  5. 演化理解 Android 异步加载图片(转)

    演化理解 Android 异步加载图片(转)http://www.cnblogs.com/CJzhang/archive/2011/10/20/2218474.html

  6. 解题:BZOJ 4644 经典砂比题(雾

    题面 初见线段树分治 (对我来说可不是什么经典题=.=) 把时间轴建出来一棵线段树,然后在对应的区间上打标记,最后把整棵树DFS一遍,到叶节点输出答案即可 (把最终答案开成全局的了调了半天 #incl ...

  7. PostgreSQL 修改字段类型从int到bigint

    由于现在pg的版本,修改int到bigint仍然需要rewrite表,会导致表阻塞,无法使用.但可以考虑其他方式来做.此问题是排查现网pg使用序列的情况时遇到的. 由于int的最大值只有21亿左右,而 ...

  8. 解决Pytohn安装第三方库出现read timed out 问题

    输入pip --default-timeout=100 install -U Packages 如pip --default-timeout=100 install -U Pillow

  9. windows配置Python多版本共存

    windows配置Python多版本共存 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近Python开发蛮火的,三年前我的一个运维朋友就告诉我说Python语言将来会很火,当时 ...

  10. clock()、time()、clock_gettime()和gettimeofday()函数的用法和区别

    1. clock_gettime( ) 提供了纳秒的精确度 int clock_gettime(clockid_t clk_id, struct timespect *tp); clockid_t c ...