简单排序方法:直接插入排序、冒泡排序、简单选择排序
2016-11-22 23:00
232 查看
/*简单快速排序假设以第一个数为最小数开始向后比较,如果找到了比这个数小的数,就记下这个数的下标,直到找完数组,将最后记下的最小值下标
与最外层循环(我们假设的最小值的下表值进行交换),然后开始下一次循环,知道整个数组排序完成,这样的排序就是从左向右,依次找出表中最小的值放在对应的位置
的一种排序方式*/
int temp3 = 0;
int t = 0;
for (int i = 0; i < test3.Length - 1; i++)
{
t = i;
for (int j = i + 1; j < test3.Length; j++)
{
if (test3[t] > test3[j])
{
t = j;
}
}
temp3 = test3[t];
test3[t] = test3[i];
test3[i] = temp3;
}
算法时间复杂度分析:
最好情况:数组的记录全部排序好了,这时只有外层循环n-2次,时间复杂度O(n)
最坏情况:数组的记录与要排的顺序全部相反,时间复杂度O(n²)
时间效率在O(n)与O(n²)之间
直接插入排序算法的空间复杂度为O(1)
相关文章推荐
- 五、排序算法之简单算法——冒泡排序、简单选择排序和直接插入排序
- 三种最简单的排序算法(直接插入排序、冒泡排序、简单选择排序)
- 简单排序 --(冒泡排序,简单选择排序,直接插入排序)
- 基本排序方法:冒泡排序、简单选择排序、直接插入排序
- 几种内部排序算法总结!(冒泡排序、快速排序、直接插入排序、拆半插入排序、简单选择排序)
- C语言实现基本排序算法----排序(直接插入排序,SHELL排序,冒泡排序,快速排序,简单选择排序,堆排序)
- 简单排序方法——直接插入排序
- 三种最简单基础的排序 选择排序 冒泡排序 直接插入排序 运用了函数指针数组
- 【简单排序算法】:简单选择排序、直接插入排序和冒泡排序
- C++排序:冒泡排序,简单选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序
- java实现三种简单排序以及改良:冒泡排序,选择排序,直接插入排序
- C# 常用排序方法 冒泡排序,直接选择排序,直接插入排序
- 简单排序:冒泡排序、直接插入排序、直接选择排序
- 几种内部排序算法总结!(冒泡排序、快速排序、直接插入排序、拆半插入排序、简单选择排序)
- Java 选择排序、冒泡排序、快速排序、直接插入排序、Java自带的排序等方法的使用和总结
- 直接插入排序、二分插入排序、希尔排序、冒泡排序与简单选择排序
- 冒泡排序(bubble sort)、直接插入排序(straight insertion sort)、简单选择排序(simple selection sort)
- 排序(二)__冒泡排序、简单选择排序和直接插入排序
- 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序
- 程序员必知的8大排序(①直接插入排序②希尔排序③简单选择排序④堆排序⑤冒泡排序⑥快速排序⑦归并排序⑧基数排序)