鸽了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)选择排序——菜鸡进化史
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...