排序算法
排序的作用
首先它是一种排序算法,排序算法是为了让无序的数据组合变成有序的数据组合。 有序的数据组合最大的优势是在于当你进行数据定位和采用时, 会非常方便,因为这个数据是有序的, 从而在代码设计的时候会让你避免很多不必要的麻烦。
几种常见的排序算法
1.冒泡排序
3.插入排序
2.快速排序
4.归并排序
……还有什么拓扑排序等等太大佬的我也没看懂……
基本概念(时间复杂度&空间复杂度)
在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。 这是一个代表算法输入值的字符串的长度的函数。 时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。 使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。
类似于 时间复杂度的讨论,一个算法的空间复杂度*S(n)定义为该算法所耗费的存储空间,它也是问题规模n的函数。 渐近空间复杂度也常常简称为空间复杂度。 空间复杂度(SpaceComplexity)是对一个算法在运行过程中临时占用存储空间*大小的量度。
下面排序全部针对一个整型数组A[n]里的元素进行
冒泡排序
原理:内循环第k次后,排在第k名的元素已被排好
代码:
if n < 2 { return; } for (int i=0;i<n;i++){ for(int j=n-1;j>0;j--){ if (A[j]>A[j-1]){ int temp=A[j]; A[j]=A[j-1]