首页 > 编程语言 >C/C++ 数据结构-直接选择排序

C/C++ 数据结构-直接选择排序

时间:2023-08-05 22:11:28浏览次数:32  
标签:排序 num1 int max ret len C++ 数据结构

#include <iostream>
#include <Windows.h>
using namespace std;
void swap(int *num1,int *num2){
    int temp = *num1;
    *num1 = *num2;
    *num2 = temp;
}
int main() {
    int ret[] = { 161,156,170,164,158,180,159,185,172,176 };
    int len = sizeof(ret) / sizeof(ret[0]);for (int i = 0; i < len - 1; i++) { //len个元素,执行len-1步选择
        int max = 0;
        for (int j = 1; j < len - i; j++) {//查找未排序的元素
            if (ret[j]>ret[max]) {
                max = j; //找到未排序元素的最大值
            }
        }
        if (max != len - i - 1) { //把最大值和最后一个元素交换
            swap(ret[max], ret[len - i - 1]);
        }
    }
    for (int i = 0; i < len; i++) {
        cout << ret[i] << " ";
    }
    cout << endl;

    system("pause");
    return 0;
}

标签:排序,num1,int,max,ret,len,C++,数据结构
From: https://www.cnblogs.com/smartlearn/p/17608732.html

相关文章

  • 冒泡排序
    defbubble_sort(nums):  n=len(nums)  foriinrange(n-1):    forjinrange(n-i-1):      ifnums[j]>nums[j+1]:        nums[j],nums[j+1]=nums[j+1],nums[j]nums=[5,3,8,2,1]print("排序前:",nums)bubble_sort(......
  • 数据结构(一)数据结构与算法
    目录算法时间复杂度T(n)=O(f(n))空间复杂度S(n)=O(f(n))算法算法是一系列程序指令,用于处理特定的运算和逻辑问题。例:1+2+3...+100inti,sum=0,n=100;for(i=1;i<=n;i++){ sum=sum+i;}printf("%d",sum);等差数列:Sn=(a1+an)*n/2=n*a1+n*(n-1)*d......
  • 【笔记】数据结构专题
    恐怖一大堆Ynoi,一大堆不会的以后再来吧https://vjudge.csgrandeur.cn/article/39088.5数据结构扫描线P5490【模板】扫描线对坐标离散化。维护\(a,b\),\(a\)是相邻两个矩形高度差,\(b_i\)初始全零,操作是\(b[l,r]+=v\),询问\(\sum_{i}a[b_i\geq1]\)。维护\(\min,\sum......
  • 基数排序详解
    基数排序详解1)前言:计数排序要学基数排序,掌握计数排序非常重要。计数排序的原理十分的简单。举个例子,排序52413,你打算怎么办?很简单是不是,冒泡排序、选择排序、归并排序……这些都足以解决。但如果你有100000000个数要排序,你可能就要束手就擒了。那如归这时候我告诉你:这1000......
  • 【数据结构】散列表
    这种查找结构与线性表和树形结构都不同,前两者的共同特点是关键字与记录位置之间没有确定关系,需要从一个起点不断进行比较查找位置。可以知道散列表(哈希表)是一种完全不同机制的查找结构,不采用基于比较选择的查找机制,而是直接在关键字与位置之间建立映射。所以在讨论它时也和上面......
  • c#学习笔记----------------c#简单算法之排序算法
     排序算法参考文章:https://blog.csdn.net/weixin_61361738/article/details/128794945冒泡排序namespaceConsoleApp1{internalclassProgram{staticvoidMain(string[]args){stringstr=Console.ReadLine();str......
  • C/C++ 数据结构五大核心算法之贪心算法_钱币找零问题
    贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。贪婪算法所得到的结果往往不是最优的结果(有时候会是最优解),但是都是相对近似(接近)最优解的结果。贪婪算法并没有固定的算法解决框架,......
  • C++可重入函数和不可重入函数
    转载:https://blog.csdn.net/weixin_41969690/article/details/108006834C++可重入函数和不可重入函数可重入函数是指能够被多个线程“同时”调用的函数,并且能保证函数结果正确不必担心数据错误的函数。不可重入函数是指不能运行在多任务环境下,除非能保证互斥的函数。由于使用......
  • 代码随想录-字符串-c++总结
    关于字符串string一些库函数的使用,不太熟悉,导致开始做的时候比较磕磕绊绊主要用到了<algorithm>中的reverse,以及string的resize,substr,erase等,在这贴一个C++字符串(string)常用操作总结-知乎(zhihu.com)C++的string库用法总结-知乎(zhihu.com)反转字符串||中,每2k个字符进......
  • C# 如何调用C++ dll string类型返回
    这篇文章主要介绍了C# 如何调用C++ dll string类型返回问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教 −目录C#调用C++dllstring类型返回C++端:(定义返回数据为结构体Vector4)C#端:(接收返回的结构体Vector4)C#调用C++dll类型......