AcWing 000. 选择插入冒泡排序
原题链接
简单
作者:
哥哥姐姐给我点点赞吧
,
2021-07-17 14:44:39
,
所有人可见
,
阅读 219
题目描述
C++ 代码
class Solution {
public:
/**
* @param A an integer array
* @return void
*/
void sortIntegers(vector<int>& A) {
// Write your code here
sort(A.begin(), A.end());
}
};
/*
* 选择排序
*/
class Solution {
public:
/**
* @param A an integer array
* @return void
*/
void sortIntegers(vector<int>& A) {
// Write your code here
for(int i = 0; i < A.size(); i++) {
int t = i;
for(int j = i + 1; j < A.size(); j++) {
if(A[j] < A[t]) t = j;
}
swap(A[i], A[t]);
}
}
};
/*
* 插入排序
*/
class Solution {
public:
/**
* @param A an integer array
* @return void
*/
void sortIntegers(vector<int>& A) {
// Write your code here
for(int i = 1; i <= A.size(); i++) {
for(int j = i - 1; j > 0; j--) {
if(A[j-1] > A[j]) {
swap(A[j-1], A[j]);
}
else
break;
}
}
}
};
/*
* 冒泡排序
*/
class Solution {
public:
/**
* @param A an integer array
* @return void
*/
void sortIntegers(vector<int>& A) {
// Write your code here
for(int i = 0; i < A.size() - 1; i++) {
for(int j = 0; j < A.size() - 1; j++) {
if(A[j] > A[j + 1]) swap(A[j], A[j + 1]);
}
}
}
};
/*
* 冒泡排序效率提升
*/
class Solution {
public:
/**
* @param A an integer array
* @return void
*/
void sortIntegers(vector<int>& A) {
// Write your code here
int flag=0;
for(int i = 0; i < A.size() - 1; i++) {
for(int j = 0; j < A.size() - 1; j++) {
if(A[j] > A[j + 1])
{
flag=1;
swap(A[j], A[j + 1]);
}
if(flag==0) break;
flag=0;
}
}
}
};