博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排序-选择排序
阅读量:4982 次
发布时间:2019-06-12

本文共 735 字,大约阅读时间需要 2 分钟。

选择排序的过程如下:

  1. 假设第1个元素为最小元素。
  2. 从第2个元素开始,依次遍历数组每个元素并和第一个元素比较,如果比第一个元素小,则置换位置,这一轮遍历下来,会找出最小元素并放在第1个位置上。
  3. 重复第一步,假设第2个元素为次小的元素,并执行第二步,从第3个元素开始遍历。

用代码写出来结果就是:

1 #include 
2 3 using namespace std; 4 5 void change(int *p,int pos1,int pos2); 6 void selectSort(int *p,int length); 7 void print(int *p,int length); 8 9 int main()10 {11 int p[] = {
2,5,3,11,89,76,24,33,15};12 selectSort(p,sizeof(p)/sizeof(int));13 print(p,sizeof(p)/sizeof(int));14 cout << "Hello world!" << endl;15 return 0;16 }17 18 void print(int *p,int length)19 {20 for(int i=0;i

 

性能分析:

  1. 每个位置的元素都会进行一次交换,所以一共需要N次交换。
  2. 每个位置的元素都需要N-1-i次比较,所以一共需要 1+2+3+.....+ (N-2)+(N-1) 次比较。约等于 N*N/2次。

转载于:https://www.cnblogs.com/lucy-lizhi/p/7389091.html

你可能感兴趣的文章
HTML5 简介
查看>>
Charles接口工具使用介绍
查看>>
MVC VIEW 时间格式控制
查看>>
包装设计模式
查看>>
poj 1144 Network (割点)
查看>>
前端 HTML
查看>>
[LeetCode] 82 Remove Duplicates from Sorted List II
查看>>
2018.10.26 操作系统中的线程定义以及理解
查看>>
《洛克菲勒留给儿子的38封信》 第二封:运气靠策划
查看>>
笔记 js 基础笔记(Dom操作)
查看>>
struts配置请求后缀,将.action改为.do、.doaction_2015.01.04
查看>>
LOJ#565. 「LibreOJ Round #10」mathematican 的二进制 分治,FFT,概率期望
查看>>
C# 集合
查看>>
lucene学习笔记、资料
查看>>
js获取和设置DOM样式函数cssStyle(类似于jquery的$(elem).css())
查看>>
Agc011_F Train Service Planning
查看>>
三个问题
查看>>
一对一双向外键关联
查看>>
EL表达式概述
查看>>
javascript面向对象学习笔记(一)——继承
查看>>