首页 > 其他分享 >选择排序

选择排序

时间:2024-09-22 22:48:01浏览次数:7  
标签:int 复杂度 元素 选择 算法 排序

选择排序

. . . . . .

定义

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每次找出第 i 小的元素(也就是 A{i..n} 中最小的元素),然后将这个元素与数组第 i 个位置上的元素交换。

稳定性

由于 swap(交换两个元素)操作的存在,选择排序是一种不稳定的排序算法。

时间复杂度

选择排序的最优时间复杂度、平均时间复杂度和最坏时间复杂度均为 O(n^2)。

代码实现

#include <bits/stdc++.h>
using namespace std;
int a[5] = {0,3,2,1};
int main()
{
	for(int i = 1;i < 3;i++)
	{
		int i1 = i;
		for(int j = i + 1;j <= 3;j++)
		{
			if(a[j] < a[i1])
			{
				i1 = j;
			}
		}
		swap(a[i],a[i1]);
	}
	for(int i = 1;i <= 3;i++) cout << a[i] << " ";
	return 0;
}

. . . . . .

标签:int,复杂度,元素,选择,算法,排序
From: https://www.cnblogs.com/Domi2011/p/18426038

相关文章

  • 冒泡排序
    冒泡排序......定义冒泡排序(Bubblesort)是一种简单的排序算法。由于在算法的执行过程中,较小的元素像是气泡般慢慢「浮」到数列的顶端,故叫做冒泡排序。过程它的工作原理是每次检查相邻两个元素,如果前面的元素与后面的元素满足给定的排序条件,就将相邻两个元素交换。当没有......
  • 数据结构之线性表——LeetCode:82. 删除排序链表中的重复元素 II,21. 合并两个有序链
    82.删除排序链表中的重复元素II题目描述82.删除排序链表中的重复元素II给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。运行代码classSolution{public:ListNode*deleteDuplicates(ListNode......
  • Express、Koa、Egg.js:Node.js框架的对比与选择
    摘要:本文将对比分析Express、Koa、Egg.js这三个Node.js框架的特点、优势和应用场景,帮助读者根据实际需求选择最适合的框架。引言:在现代Web开发中,Node.js框架是不可或缺的工具。Express、Koa、Egg.js是三种流行的Node.js框架,它们各自具有独特的特点和优势。本文将详细对比分析这三......
  • 选择SAP BTP让你的企业飞速发展
     在当今竞争激烈的商业环境中,企业寻求创新和高效的解决方案以实现飞速发展。SAPBTP(BusinessTechnologyPlatform)作为一款强大的技术平台,正成为众多企业的理想选择。 一、SAPBTP的集成性与综合性SAPBTP将智能企业应用程序与数据库和数据管理、分析、集成和扩展功能整合到一......
  • CSP-S 2024 提高组初赛解析(更新至单项选择)
    单项选择1在Linux系统中,如果你想显示当前工作目录的路径,应该使用哪个命令?ApwdBcdClsDechopwd:printworkingdirectorycd:跳转到指定目录ls:列出当前目录的所有子文件和子文件夹echo:输出指定内容2假设一个长度为n的整数数组中每个元索值互不相同,且......
  • Java-数据结构-排序-(二) (๑¯∀¯๑)
    文本目录:❄️一、交换排序:    ➷ 1、冒泡排序:    ▶代码:     ➷ 2、快速排序:          ☞基本思想:          ☞方法一:Hoare法    ▶代码:           ☞方法二:挖坑法  ......
  • 深度学习:(六)激活函数的选择与介绍
    激活函数之前使用的a=σ(z)......
  • 冒泡排序
    publicclassArraysDemo01{publicstaticvoidmain(String[]args){//冒泡排序//比较数组中,两个相邻的元素,如果第一个比第二个数大,调换位置//每一次比较,都会产生一个最大或者最小的数//下一轮可以少一次排序intar[]={1,212,6,9,12,88,2,22};System.out.println(Arrays......
  • 数据中台陨落,数据飞轮崛起:新时代的数据架构选择
    在科技迭代的潮流中,企业对数据的处理和利用已经从单纯的存储转变为如何高效提升业务决策和操作效率。数据中台曾经作为企业数据管理的救星受到了极大的推崇,旨在统一企业内部数据的收集、存储和管理,实现数据资产的集中控制和高效利用。然而,现实往往与理想有差距,数据中台在实际运用中......
  • 药物分子生成算法综述:从生成对抗网络到变换器模型的多样化选择
    创作不易,您的打赏、关注、点赞、收藏和转发是我坚持下去的动力!基于已有的药物数据生成新的药物分子是一项复杂的任务,通常涉及到生成模型和机器学习算法。以下是一些常用的算法和方法:1.生成对抗网络(GANs)特点:由生成器和判别器两个神经网络组成,生成器生成新分子,判别......