给你一个整数数组
nums
,请你将该数组升序排列。
示例 1:
输入:nums = [5,2,3,1]
输出:[1,2,3,5]
示例 2:输入:nums = [5,1,1,2,0,0]
输出:[0,0,1,1,2,5]来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/sort-an-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处
提示:
1 <= nums.length <= 5 * 104
-5 * 104 <= nums[i] <= 5 * 104
class Solution {
//冒泡排序
public int[] sortArray(int[] nums) {
if(nums.length<=1){
return nums;
}
for(int i=0; i<nums.length-1;i++){
for(int j=0; j<nums.length-1-i;j++){
if(nums[j]>nums[j+1]){
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
return nums;
}
}
//超出时间限制
class Solution {
//快速排序
public int[] sortArray(int[] nums) {
quickSort(nums,0,nums.length-1);
return nums;
}
public void quickSort(int[] nums,int start,int end){
if(start >= end){
return;
}
int left = start,right = end;
int temp = nums[left];
while(left < right){
while(left < right && nums[right] >= temp){
right--;
}
nums[left] = nums[right];
while(left < right && nums[left] <= temp){
left++;
}
nums[right] = nums[left];
}
nums[left] = temp;
quickSort(nums,start,left-1);
quickSort(nums,left+1,end);
}
}