题目传送门
介绍两种方法,第一种就是直接调库,第二种是希尔排序。
class Solution
{
public:
vector<int> sortArray(vector<int>& nums)
{
sort(nums.begin(),nums.end());
return nums;
}
};
class Solution
{
public:
vector<int> sortArray(vector<int>& nums)
{
int size=nums.size();
int d=1;
while(d<size/3)
{
d=3*d+1;
}
int guodu;
int j;
for(;d>0;d=d/3)
{
for(int i=d;i<size;i++)
{
guodu=nums[i];
for(j=i-d;j>=0;j=j-d)
{
if(nums[j]>guodu)
{
nums[j+d]=nums[j];
}
else
{
break;
}
}
nums[j+d]=guodu;
}
}
return nums;
}
};