简单排序方法:直接插入排序、冒泡排序、简单选择排序

来源:互联网 发布:机房网络布线图 编辑:程序博客网 时间:2024/06/06 23:17
  
/*简单快速排序假设以第一个数为最小数开始向后比较,如果找到了比这个数小的数,就记下这个数的下标,直到找完数组,将最后记下的最小值下标
与最外层循环(我们假设的最小值的下表值进行交换),然后开始下一次循环,知道整个数组排序完成,这样的排序就是从左向右,依次找出表中最小的值放在对应的位置

的一种排序方式*/


            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)
0 0