首页 > 编程知识 正文

八大排序算法c语言,内部排序算法比较c语言

时间:2023-05-03 23:50:03 阅读:141690 作者:52

排序时间复杂度为o(nlogn ),空间复杂度为o )1),是一种不稳定的排序算法。

主要实现思想是双回圈,每次外层回圈时在内层巡视寻找最大下标并保存,待内层回圈结束后再换最后一个值。 也就是说,每次遍历数组,并将最大值更换到数组的末尾。 以下是遍历数组双重循环的密码。

for(intj=nums.size ) (- 1; j 0; -j ) for(intI=0; i j; I )以下是实现选择排序算法的代码

Sorts.h

# pragma once # include iostream # includevectorusingnamespacestd; sructsorts { voidselect (vectorintnums; voidprint(vectorintnums; (;

Sorts.cpp

# include ' sorts.h ' void sorts :3360 select (vectorintnums ) { cout 'select sort! n' endl; if(nums.empty(||nums.size )==1)返回; for(intj=nums.size ) (- 1; j 0; -j({intmaxindex=j; for(intI=0; i j; I ) if(nums[I]nums[maxindex] ) maxIndex=i; swap(nums[maxindex],nums[j]; } void sorts 3360: print (vectorintnums ) for ) constautoit:nums ) cout it ','; cout endl; }

main.cpp

# include vector # include ' sorts.h ' usingnamespacestd; int main () vectorint nums={ 2,0,1,6,8,10,5,99,87,333,2,0,1 }; Sorts sorts; sorts.select(nums; sorts.print(nums ); 返回1; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。