网站年龄和域名年龄,网站活动页面,网站设计之路,北京seo实训班学校给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums #xff0c;原地对它们进行排序#xff0c;使得相同颜色的元素相邻#xff0c;并按照红色、白色、蓝色顺序排列。
我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。
必须在不使用库内置的 sort 函数的情况下解决…给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums 原地对它们进行排序使得相同颜色的元素相邻并按照红色、白色、蓝色顺序排列。
我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。
必须在不使用库内置的 sort 函数的情况下解决这个问题。
思路一直接编写排序算法
void sortColors(int* nums, int numsSize){for(int i 0;inumsSize;i){for(int j i1;jnumsSize;j){int temp;if(nums[i]nums[j]){temp nums[i];nums[i] nums[j];nums[j] temp;}}}return nums;}
分析
本题使用多种排序算法均可解决为题解清晰简单使用冒泡算法作为题解
总结
本题考察排序算法编写相关算法即可解决