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

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

相关文章

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

React 记忆缓存的三种方法实现

《React记忆缓存的三种方法实现》本文主要介绍了React记忆缓存的三种方法实现,包含React.memo、useMemo、useCallback,用于避免不必要的组件重渲染和计算,感兴趣的可以... 目录1. React.memo2. useMemo3. useCallback使用场景与注意事项在 Re

python中getsizeof和asizeof的区别小结

《python中getsizeof和asizeof的区别小结》本文详细的介绍了getsizeof和asizeof的区别,这两个函数都用于获取对象的内存占用大小,它们来自不同的库,下面就来详细的介绍一下... 目录sys.getsizeof (python 内置)pympler.asizeof.asizeof

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

Go之errors.New和fmt.Errorf 的区别小结

《Go之errors.New和fmt.Errorf的区别小结》本文主要介绍了Go之errors.New和fmt.Errorf的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考... 目录error的基本用法1. 获取错误信息2. 在条件判断中使用基本区别1.函数签名2.使用场景详细对

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令