史上最详细的C语言和Python的选择排序算法
未经同意,请勿转载!如有收货,请留一赞,不胜感激!
同时欢迎加入我们的qq交流群:326079727
话不多说上代码:
C语言:
//选择排序走起
//原理:吃透原理再去实现,选择排序也是类似于冒泡排序,时间复杂度也是O^2,外层循环是十轮。
// 每轮都找出最小值,然后把它放到最前,已经放在前面的 下一轮就不用再去比较
void choice(){
int init_arr[] = {,,,,,,,,,};
//获取数组的长度,因为c语言的每个int型占四个字节,所除以4
int len = sizeof(init_arr)/;
int tmp;
for (int i = ; i < len; i++) {
//int mix=init_arr[i];//初始化最小值为mix为数组的第一个数
for (int j = i; j < len; j++) {//内层循环遍历,找出最小值,这里要从i位开始遍历,因为已经放在前面的(i之前的) 下一轮就不用再去比较
if (init_arr[j]<init_arr[i]){//如何其中的值比当前的init_arr[i]值还要小则交换数值
tmp = init_arr[i];
init_arr[i]=init_arr[j];
init_arr[j] = tmp;
}
}//完成一轮for则能找出这其中的最小值,然后放到前面,等下一轮会初始化最小值为init_arr[i+1]
}
for (int k = ; k < len; k++) {//循环遍历打印
printf("%d\n",init_arr[k]);
}
}
Python:
#选择排序走起
def choice():
list=[5,9,88,99,54,66,77,315,88,315,21]
#选择排序,顾名思义就是选择,每轮选出最小的值来,然后放到前面.
for i in range(0,len(list)):#外层循环,一轮找一个最小值
for j in range(i,len(list)):#内层循环,遍历列表,比较初始值与list[j]的大小,如果大,则把最小值赋给list[i],继续j++
if (list[i]>list[j]):
list[j],list[i]=list[i],list[j]
j+=1#j++继续比较下一个数
i+=1#i++进行下一轮
for k in list:#遍历打印
print(k)

史上最详细的C语言和Python的选择排序算法的更多相关文章
- 史上最详细的C语言和Python的插入排序算法
史上最详细的C语言和Python的插入排序算法插入排序原理:所谓插入排序,就像我们在打牌(斗地主)时,整理我们自己手中自己的牌一样,就像是2,1,3,9,J,K,5,4,这四张牌.我们要把它其中的几张 ...
- 史上最详细“截图”搭建Hexo博客并部署到Github
http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...
- 史上最详细“截图”搭建Hexo博客——For Windows
http://angelen.me/2015/01/23/2015-01-23-%E5%8F%B2%E4%B8%8A%E6%9C%80%E8%AF%A6%E7%BB%86%E2%80%9C%E6%88 ...
- 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用
史上最详细Windows版本搭建安装React Native环境配置 2016/01/29 | React Native技术文章 | Sky丶清| 95条评论 | 33530 views ...
- 史上最详细的Android Studio系列教程一--下载和安装
链接地址:http://segmentfault.com/a/1190000002401964#articleHeader4 原文链接:http://stormzhang.com/devtools/2 ...
- 测试思想-测试设计 史上最详细测试用例设计实践总结 Part2
史上最详细测试用例设计实践总结 by:授客 QQ:1033553122 -------------------------接 Part1-------------------------- 方法:这里 ...
- 转 史上最详细的Hadoop环境搭建
GitChat 作者:鸣宇淳 原文:史上最详细的Hadoop环境搭建 关注公众号:GitChat 技术杂谈,一本正经的讲技术 [不要错过文末活动哦] 前言 Hadoop在大数据技术体系中的地位至关重要 ...
- 史上最详细的XGBoost实战
史上最详细的XGBoost实战 0. 环境介绍 Python 版 本: 3.6.2 操作系统 : Windows 集成开发环境: PyCharm 1. 安装Python环境 安装Python 首先,我 ...
- 史上最详细mac安装Qt教程
史上最详细mac安装Qt教程,小白看过来! 这是一篇非常适合Qt入门小白的的安装Qt教程,因为这学期我们小组的一个关于高速救援的项目要用到Qt与web进行交互式展现相关的图像,由于没有MSVC这个插件 ...
随机推荐
- ubuntu16下 Oracle安装完毕,测试是否安装成功的步骤
1.查看oracle的环境变量,在终端输入命令 echo $ORACLE_BASE echo $ORACLE_HOME echo $PATH 看输出是不是安装时设置的路径 2.开启监听器 lsnrct ...
- React实现顶部固定滑动式导航栏(导航条下拉一定像素时显示原导航栏样式)
摘要 基于react的框架开发一个顶部固定滑动式的酷炫导航栏,当导航栏置顶时,导航栏沉浸在背景图片里:当鼠标滑动滚轮时,导航栏固定滑动并展示下拉样式. JS部分 相关技术栈:react.antd.re ...
- nginx 反向代理的配置
nginx中的每个server就是一个反向代理配置,可以有多个server(nginx只能处理静态资源) nginx中 server的配置 server { listen 80; server_nam ...
- day12-python之深灰魔法
#######################################灰魔法: list类中提供的方法 列表####################################### ...
- SAP UI5应用入口App.controller.js是如何被UI5框架加载的?
首先在UI5应用的manifes.json里,定义了UI5应用的入口视图为App: 调试器里的pending数组的两个元素: 实际上对应了我在App.controller.js里定义的两个依赖: 而a ...
- sql基础的基础
一.数据定义语言(DDL) create table alter table drop table create index alter index drop index create view dr ...
- Oracle 多租户环境学习路线图
Category Topic Documentation Concepts Overview of CDBs and PDBs "Overview of the Multitenant Ar ...
- MySQL数据库的二进制安装、源码编译和基础入门操作
一.MySQL安装 (1)安装方式: 1 .程序包yum安装 优点:安装快,简单 缺点:定死了各个文件的地方,需要修改里边的相关配置文件,很麻烦 2 .二进制格式的程序包:展开至特定路径,并经过简单配 ...
- PP 各种快捷键
内容识别 Shitf + F5 (留白填充) 内容识别比例 Alt + Shift +Ctrl +C 取消选区 Ctrl + D Alpha通道 左击 + Ctrl 锐化 先换成Lab颜色 在无颜色的 ...
- 使用java中的反射获得object对象的属性值
知识点:使用java中的反射获得object对象的属性值 一:场景 这两天开发代码时,调用别人的后台接口,返回值为Object对象(json形式的),我想获得object中指定的属性值,没有对应的ge ...