范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

CC排序算法之冒泡排序和选择法排序

  文章首发于CSDN,博主HanSmileLiao「链接」原文链接:https://blog.csdn.net/NebulaChien/article/details/120436663
  转眼大二了,突然感觉比大一还要迷茫(也可能是因为数模竞赛,评优都没有搞好,明年暑假的智能车也一点没有头绪23333),计二报的是Python(虽然没什么卵用,但是学校要我们搞非精准扶贫),在用多了自带的函数之后,突然想起去年让我相爱相杀的排序算法,emmm专业课刚好遇到了数据结构里面的各种排序,就想着过了一年再系统地整理一下,也是因为自己对于C太生疏了吧,虽然我不知道C学了个什么玩意儿,真正让自己有点感触的还是OOP,毕竟万物皆对象,行为皆方法。打算做一个系列,再回头看看自己曾经学过的东西,数电模电,线性代数高数等等。
  打算以后多在CSDN、Github、头条丢一些大佬压根看不上的垃圾,说不定哪天大佬就出来教我做事了呢:(
  本人超级菜,求求大佬们出来教我做事啊
  打算做一个系列,专门整理一些算法,先从排序开始一、两种排序算法的基本思想
  1、冒泡法(起泡排序):
  用到for循环,round1的两次for循环分别确定List[0]和List[1],现在我们就得到了两个相邻的元素,按照期望的序列决定是较小的数上浮还是较大的数上浮,一直到List[length_List](以升序为例),此时相当于找到了序列0-length_List的最大值;round2的两次for循环分别确定List[1]和List[2],以此类推一直到List[length_List-1],此时找到了序列0-length_List-1的最大值…依次往后直到确定List[0]与List[1]大小关系,此时程序结束 ,如下所示:for(int j=len-1;j>i;j--) 		{ 			if(name_List[j] # include  # include 
  2.生成随机数
  参考大佬的文章后用了动态生成随机数以及动态分配数组长度的方法: int *List=new int[length_List]; 			srand((unsigned int)time(NULL)); 			for(int index=0;index # include  # include  using namespace std; /* Bubble sort: Basic idea:Compare adjacent elements in turn,smaller go up(upwards sort) and bigger go down;or bigger go up(downwards sort) Each turn we compare position and position->next,if position and it"s next meet the requests,we don"t need to do it again So the algorithm can be optimized:Because each "Bubble" actually is switch the value We could set a BOOL value as a key,each compare initialize the key to false,and after comparing turn it to true After comparing check key value,if it"s value is false interrupt the program */ /* BubbleSort1 is upwards sort BubbleSort2 is downwards sort */ void Exchange(int *a,int *b) { 	int temp; 	temp=*a; 	*a=*b; 	*b=temp; } //Swap() is a place that is easy to ignore. Exchange values are exchanged addresses, or exchange their respective references (alias) void BubbleSort1(int name_List[],int length_List) { 	int m=0,n=0; 	int len=length_List; 	bool Flag;     //Threshold(key), if a certain time has been sorted, there is no need to continue to traverse down 	for(int i=0;ii;j--) 		{ 			if(name_List[j]i;j--) 		{ 			if(name_List[j]>name_List[j-1]) 			{ 				n++; 				Exchange(&name_List[j],&name_List[j-1]); 				Flag=true; 			} 		} 		if(!Flag) break;	 		 	} 	cout<<"Sort the list with the format of down is :"<=10):"; 		cin>>length_List; 		if(length_List<10) 		{ 			Flag=0; 			cout<<"Exit by fault input"<>Flag; 		} 	} 	return 0; }
  选择法排序: /* Upwards First round,find minimum value of List[length_list],put it on first location index Second round,find minimum value of List[length_list],put it on first location index+1 ... Downwards First round,find maximum value of List[length_list],put it on first location index Second round,find maximum value of List[length_list],put it on first location index+1 ... */ # include  # include  # include  using namespace std; void Exchange(int *a,int *b) {     int temp;     temp=*a;     *a=*b;     *b=temp; } /* SelectionSort1() is upwards SelectionSort2() is downwards */ void SelectionSort1(int name_List[],int length_List) {     int len=length_List;     int Index_min;     int m=0,n=0;     for(int i=0;iname_List[j])             {                 Index_min=j;             }         }         if(Index_min!=i)         {             Exchange(&name_List[Index_min],&name_List[i]);         }         /*         Suppose the sequence is :| 5 2 8 6 4 7 3         In first round the minimum is 2,i=0,put it on location 0,and the new sequence is :2 | 5 8 6 4 7 3         In second round the minimum is 3,i=1,put it on location 1,and the new sequence is 2 3 | 5 8 6 4 7         ....         */     }     cout<<"The upwards sort is :"<=10):"; 		cin>>length_List; 		if(length_List<10) 		{ 			Flag=0; 			cout<<"Exit by fault input"<>Flag; 		} 	} 	return 0; }
  以上就是第一篇关于最基础的两种排序算法的分享,大家还有什么想了解的可以打在评论区,我会逐一解答,以后也会多多分享这些资源。
  要走的路还很长啊,共勉!
  祝大家周末快乐![比心]

8年了,我们一直都是955呀!员工休息好,才有战斗力!在国内互联网科技行业,996工作制(早上9点到岗,晚上9点下班,每周工作6天)越来越成为了约定俗成的规则,无论是初创企业,还是行业大厂,都对员工有着潜在要求或硬性指标。这几日,在网996工作制已逾越法律底线最近,国内程序员界发生了一件大事,有人在知名代码托管平台上发起了一个名为996。ICU的项目,以此抵制互联网公司超时工作。此举得到大批程序员响应。所谓996,是指每天上午9点工作到计算机书籍每周销量排行榜!(2019。04。05)程序员书库每周日推出计算机书籍销量排行榜!数据来源于京东网当当网互动出版网中国图书网四大网站的计算机类书籍销量排行以下就是本周的图书销量排行情况京东销量排行京东计算机与互联网书籍每大数据扫盲!详解Hadoop核心架构通过对Hadoop分布式计算平台最核心的分布式文件系统HDFSMapReduce处理过程,以及数据仓库工具Hive和分布式数据库Hbase的介绍。基本涵盖了Hadoop分布式平台的水滴互助完成腾讯领投5亿元B轮融资3月27日,旗下拥有水滴互助水滴筹水滴保等业务的水滴公司正式对外宣布完成B轮融资,总融资金额近5亿元人民币,本轮融资由腾讯领投,高榕资本IDG资本蓝驰创投创新工场DSTGlobal特斯拉正式量产搭载Hardware3的ModelS与ModelX特斯拉在发布重磅车型ModelY之前,大老板马斯克就表示今年年底前旗下车型就有能力实现完全自动驾驶的技术(按NHTSA对自动驾驶系统的定义划分,这算是Level4级别,具体划分方式每人398元,云集一年收15亿元会员费,洗脱传销嫌疑后增速下滑营收130亿元云集创始人肖尚略原本是淘宝香水卖家,2003年,淘宝还在起步期,肖尚略就开了小也店,业内也管肖尚略叫小也。到2012年,小也香水以12的市场份额,成为淘宝香水类目的行浅谈Web实时推送技术,有对比,有总结前言随着Web的发展,用户对于Web的实时推送要求也越来越高,比如,工业运行监控Web在线通讯即时报价系统在线游戏等,都需要将后台发生的变化主动地实时地传送到浏览器端,而不需要用户估值超200亿,据传被顺丰当做研究对象,跨越速运还能走多远?在物流与快递行业,近年有一家黑马企业总是受到行业关注,那就是跨越速运。跨越速运凭借其超高时效的服务与产品,日均吞吐货量超万吨。在胡润研究院公布的独角兽指数中,跨越速运的估值已经达到德国工业4。0和中国智能制造在上海临港强强联手,这个世界级科研机构终于来了今天下午,德国弗劳恩霍夫应用研究促进协会与上海交通大学签署正式合约,依托各自优势,双方将在临港地区成立上海交通大学弗劳恩霍夫协会智能制造项目中心,围绕智能制造和工业4。0前沿技术开印尼电商清关难于上青天,幕后却只有两家公司?墨腾创投注本文作者在印尼电商物流清关领域有深厚的经验,曾帮多家公司搭建印尼的物流基础设施和解决方案。如果有兴趣和作者合作,请与我们联系。每天,都有数万件电商小包乘着各大航班飞往印尼
苹果原厂屏幕苹果原厂电池这回你能从苹果买到真正的原厂屏幕原厂电池了苹果宣布推出自助维修计划,首先支持的设备包括iPhone12和iPhone13,M1芯片的Mac电脑也即将加入,这项计划将从明年初开始在美iPhone13热销之际,iPhone14传来新消息,苹果有望用上屏下指纹文有鱼审核子扬校对知秋在手机单品销售方面,iPhone一直以来都是一枝独秀,今年发布的iPhone13也是如此。自9月份上市以来,iPhone13一直处于热销状态,在今年的双11购对标苹果!安卓小屏旗舰小米12mini基本确认骁龙870,价格3299从去年开始,苹果在一年一更的新iPhone中加入了一个船新的mini版本,这个版本的加入有两个好处,第一是填补了市场没有小屏旗舰手机的空白,把有这部分需求的用户收于囊中。第二是拉低氪星晚报丨苹果削减iPad产量以保证iPhone13需求欧莱雅就面膜事件致歉将提出能针对所有相关消费者的妥善解决方案大公司苹果削减iPad产量以保证iPhone13需求据报道,苹果已经削减了iPad的产量,旨在为iPhone13分配更多组件,全球芯片供应危机对该公司的打击比此前预期的还要严重。i加密货币账户年收益率高达9。5BlockFi面临美国证监会审查BlockFiInc目前正因其热门产品而受到美国证监会(SEC)的审查,该产品向借出数字代币的客户支付高利率。这意味着,这家快速发展的加密货币公司正面临更大的法律困境。一位知情人士在当今月收入多少钱算是穷人?在当今月收入多少钱算是穷人?首先明白什么是穷人,穷人有标准吗?,仅仅依据钱收入多少来定穷富标准,难免会有漏洞,应该把收入与物价挂勾,并依据当地大多数人们的生活水准,于以参考,相对来人人关心元宇宙是什么,我想说说元宇宙不是什么自元宇宙从一个单纯的技术概念成为一个热门的公共话题之后,不断有人在问我元宇宙到底是什么?坦白说这个问题很难回答,元宇宙是个十分抽象的概念,就好比世界是个抽象的概念一样。你如果问世界元宇宙,老百姓是蒙圈了互联网,如今又元宇宙。1第一代电脑(19461958年)2第二代电脑(19591964年)3第三代电脑(19651970年)4第四代电脑(1971年至今)互联网移动互联网互联网再到ASML正式宣布,解除封锁给国内出货,中国院士却泼了一盆冷水随着中国华为在5G技术以及实用方面的反超,美国对于中国芯片的供应以及技术封锁就愈发严重,受影响最多的应该就是手机行业了,其中华为高端系列到现在都还没有5G手机。其原因无外乎有两个,云米智能即热饮水机测评多档调温,秒出热水让智能生活更有温度家人身体不舒服,半夜急需吃药,起身烧水的时间都来不及,只能用凉水应急,结果就是旧病好了肚子又疼了。突然发现,物联时代,全屋已经布满智能家居,但是随时想喝口热水的生活还没实现。想想以台积电3nm工艺遇生产瓶颈iPhone14或放缓升级此前在TheInformation的一份报告中显示,台积电和苹果在生产3nm芯片方面面临技术挑战,这可能是iPhone14系列将采用4nm工艺的一个原因。3nm4nm工艺是指处理器