voidbubble_sort(vector<int>& nums)//形参nums取到实参nums传递过来的数组首地址{
int size = nums.size();if(size <2){
return;}for(int end = size -1; end >=0;--end)// 由最后一个元素开始,从size-1到0,一共size轮{
//从第一个元素开始,两两进行比较,如果前面的元素大于后面的//元素,就交换,最终的结果就是最大的数在最后面for(int i =0; i < end;++i){
if(nums[i]> nums[i+1]){
swap(nums, i, i+1);}}}}
2. 选择排序
voidselect_sort(vector<int>& nums){
int size = nums.size();if(size <2){
return;}for(int i =0; i < size;++i)// 从0到size-1, 一共size轮{
int minIndex = i;for(int j = i; j < size;++j)// 每轮在i到size-1中,找出剩余元素中最小的下标放到i位置{
if(nums[minIndex]> nums[j]){
minIndex = j;}}swap(nums, minIndex, i);}}
3. 插入排序
voidinsert_sort(vector<int>& nums){
int size = nums.size();if(size <2){
return;}// 从0到0已经有序for(int i =1; i < size;++i)// 从1到size-1,一共size-1轮,每一轮让0到i有序{
for(int j = i -1; j >=0&& nums[j]> nums[j +