排序算法集锦(1)选择排序——菜鸡进化史

鸽了5,6天没更新了,罪过罪过。
那么来尝试一下全部的排序算法吧,领扣463.整数排序
题目描述
给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。
class Solution {
public:
/**
* @param A: an integer array
* @return: nothing
/
void sortIntegers(vector<int> &A) {
// write your code here
}
};
开门见山,先整个选择排序的
插入排序顾名思义就是对全部数据都进行一次选择,选出为排序部分的最大或者最小的
1先将数组分为两部分,一部分是已经排好了的,一部分是未排的。
2从未排的里面找出最小的一个
3把这个最小的放到排好那有序部分的最后
4继续2和3直到每一个都被排完或者排到倒数第二个。
代码如下
class Solution {
public:
/
*
* @param A: an integer array
* @return: nothing
*/
void sortIntegers(vector<int> &A) {
int length;//数组长度
int temp,min;
length=A.size();
for(int i=0;i<length-1;i++)//对每一个数进行选择(除了最后一个)
{//写i<length也没关系只不过是多一个步骤
//找出未插入部分的最小值
min=i;
for(int j=i+1;j<length;j++)
{
if(A[j]<A[min])
min=j;
}
//交换找到的最小值与已排序的部分的末尾值
temp = A[i];
A[i] = A[min];
A[min] = temp;
}
}
};

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 3,345评论 0 9
  • 贪心算法 贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上...
    fredal阅读 9,284评论 3 52
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,910评论 0 2
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,408评论 0 2
  • 爱情 20岁时的爱情 疯狂到只有今天,没有明天 30岁时的爱情 世故到只有明天,没有今天 一个词,内涵太过真挚 最...
    卢雅芳阅读 363评论 0 1