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

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

相关文章

Spring IOC的三种实现方式详解

《SpringIOC的三种实现方式详解》:本文主要介绍SpringIOC的三种实现方式,在Spring框架中,IOC通过依赖注入来实现,而依赖注入主要有三种实现方式,构造器注入、Setter注入... 目录1. 构造器注入(Cons编程tructor Injection)2. Setter注入(Setter

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu