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

简单选择排序

时间:2024-11-16 21:43:46浏览次数:3  
标签:include int 元素 选择 简单 序列 100 排序

  假设要排序的序列元素个数为n,简单选择排序的思路为:第一趟从第一个元素开始,在未排序的n个元素中选出最小元素,将其与序列第一个元素交换;第二趟从第二个元素开始,在未排序的n-1个元素中,选出最小元素,将其与本趟的第一个元素交换,以此类推,经过n-1趟,形成了从小到大的已排序序列。

  下面是实现简单选择排序算法的程序,功能是将数组a的元素从小到大排列,数组元素的值由伪随机函数构造。

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int a[100];
	int i,j,n=100;
	for(i=0;i<n;i++){
		a[i]=rand();
			}
	for(i=0;i<n-1;i++){
		int min_index=i;
		for(int k=i+1;k<n;k++)
		{
			if(a[k]<a[min_index]){
				min_index=k;
			}
			if(min_index!=i){
				int t=a[i];
				a[i]=a[min_index];
				a[min_index]=t;
			}
		}
	}	
	for(i=0;i<n;i++){
	
	  printf("%d ",a[i]);}	
	return 0;
}

标签:include,int,元素,选择,简单,序列,100,排序
From: https://blog.csdn.net/2401_87822230/article/details/143824117

相关文章

  • change buffer:到底应该选择普通索引还是唯一索引
    文章目录引言第一章:普通索引和唯一索引在查询逻辑与效率上的对比1.1查询逻辑分析1.2查询效率对比第二章:普通索引和唯一索引在更新逻辑与效率上的对比2.1更新逻辑分析2.2更新效率对比第三章:底层原理详解-普通索引和唯一索引的区别3.1索引存储结构对比3.2索引维......
  • 什么?掌握 UniApp 页面路由竟如此简单!
    引言UniApp是一个跨平台的开发框架,提供了很多实用的API来帮助开发者处理跨平台的需求,尤其是页面路由相关的功能。页面路由API使得页面跳转、返回等操作变得更加简单且高效,特别适用于在小程序、H5、App等平台之间进行页面管理。本文将详细介绍UniApp提供的页面路由......
  • python文件排序都有哪些方法
    在python环境中提供两种排序方案:用库函数sorted()对字符串排序,它的对象是字符;用函数sort()对数字排序,它的对象是数字,如果读取文件的话,需要进行处理(把文件后缀名‘屏蔽’)。(1)首先:我测试的文件夹是/img/,里面的文件都是图片,如下图所示:(2)测试库函数sorted(),直接贴出代码:impor......
  • 手把手教你用C语言写一个简单的quine(输出自身的程序)
    第一步,写个简单的框架#include<stdio.h>intmain(){ printf("#include<stdio.h>\nintmain(){\n\tprintf();\n\treturn0;\n}"); return0;}printf的东西先留空。这时你会发现printf里面的东西需要是这句东西本身,如果把这句话复制进去,你会发现最内层还存在一个空的括号,反......
  • c语言快速排序
    快速排序(Quicksort)是一种高效的排序算法,采用分治法(DivideandConquer)策略来把一个序列分为较小和较大的两个子序列,然后递归地排序两个子序列。快速排序的步骤:选择基准(Pivot):从数列中挑出一个元素,称为"基准"(pivot)。分区(Partitioning):重新排序数列,所有元素比基准值小的摆放......
  • MySQL简单索引
    前言索引的核心作用是加速数据查询。它通过减少查询所需扫描的数据量、支持快速定位数据、优化排序和分组操作,以及加速复杂的连接查询,显著提升数据库的性能。1.普通索引createindex语法  table_name要加速的表明(column_name表的列表)     这是最基础的索引类......
  • 使用 Neko 编程语言实现简单的滑动验证码识别
    滑动验证码是一种常见的安全验证方式,要求用户将图块拖动到正确位置。本文将使用Neko编程语言实现一个简单的滑动验证码识别程序,通过基本的图像处理技术自动识别图块匹配位置。实现步骤加载图片:使用Neko的图像处理库加载滑块和背景图片。图像预处理:转换为灰度图并进行边缘......
  • 数据结构(初阶5)---堆与堆排序(详解)
    堆与堆排序一.二叉树初探1).基本概念2).满二叉树和完全二叉树3.)二叉树的存储方式二.堆与堆排序1.堆(完全二叉树的特例)1).建堆(向下调整法)2).堆排序再将堆排序之前,我们先引入二叉树概念一.二叉树初探1).基本概念二叉树是一种数据结构,二叉树形如:1.其中A节......
  • 【水光互补优化调度】基于非支配排序遗传算法的多目标水光互补优化调度(Matlab代码实现
     ......
  • 【水光互补优化调度】基于非支配排序遗传算法的多目标水光互补优化调度(Matlab代码实现
     ......