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

本文介绍了一种简单的排序算法——选择排序,并提供了详细的实现步骤及代码示例。该算法通过不断寻找数组中的最小元素并将其放到正确位置来实现排序。文章还分析了其时间复杂度,指出最好情况下为O(n),最坏情况下为O(n²)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  
/*简单快速排序假设以第一个数为最小数开始向后比较,如果找到了比这个数小的数,就记下这个数的下标,直到找完数组,将最后记下的最小值下标
与最外层循环(我们假设的最小值的下表值进行交换),然后开始下一次循环,知道整个数组排序完成,这样的排序就是从左向右,依次找出表中最小的值放在对应的位置

的一种排序方式*/


            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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值