您的位置:首页 > 其它

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

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐