随机数初始化数组然后用选择法(三种,细微的区别)对数组进行排序

2024-06-23 18:32

本文主要是介绍随机数初始化数组然后用选择法(三种,细微的区别)对数组进行排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#include<stdio.h>
#include<stdlib.h>
#include<time.h>//时间头文件 
int main()
{time_t ts;//设置时间变量 unsigned int randdata = time(&ts);//获取时间,转换为无符号int srand(randdata);//设置随机数种子int a[10];//用随机数初始化数组for(int i=0;i<10;i++){a[i] = rand()%100;//0--99printf("%d,%x\n",a[i],&a[i]);} printf("-----------------------------------------------------\n");//下面的代码块是求最大值 {int max;//最大值下标max = 0;//假设a[0]最大//求最大值for(int i=1;i<10;i++){printf("%d,%d,%d,%d\n",i,max,a[i],a[max]);if(a[i]>a[max]){max = i;}} printf("最大值a[max]=%d\n",a[max]);}//下面的代码块是选择排序{for(int i=0;i<9;i++){int min = i;//假设是当前最小值的下标 for(int j=i+1;j<10;j++){if(a[j]<a[min]){min = j;}}if(min!=i)//下标相同表明下标没有交换,就无需交换数据 {int temp = a[min];//temp保存最小值a[min] = a[i];a[i] = temp;//数据交换 }}printf("第一种选择排序后数组的结果如下:\n"); for(int i=0;i<10;i++){printf("%d\t",a[i]);} } {for(int i=0;i<9;i++){for(int j=i+1;j<10;j++){if(a[i]>a[j]){int temp = a[i];a[i] = a[j];a[j] = temp;}}}printf("第二种选择排序后数组的结果如下:\n"); for(int i=0;i<10;i++){printf("%d\t",a[i]);} }{int min,temp;for(int i=0;i<9;i++){min = i;for(int j=i+1;j<10;j++){if(a[j]<a[min]){min = j;}}temp = a[min];a[min] = a[i];a[i] = temp;}printf("第三种选择排序后数组的结果如下:\n"); for(int i=0;i<10;i++){printf("%d\t",a[i]);} } return 0;
} 

这篇关于随机数初始化数组然后用选择法(三种,细微的区别)对数组进行排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087942

相关文章

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

Java 关键字transient与注解@Transient的区别用途解析

《Java关键字transient与注解@Transient的区别用途解析》在Java中,transient是一个关键字,用于声明一个字段不会被序列化,这篇文章给大家介绍了Java关键字transi... 在Java中,transient 是一个关键字,用于声明一个字段不会被序列化。当一个对象被序列化时,被