C#中的三个排序,冒泡/选择/插入

定义一个一维数组

int[] px = { 1, 23, 4, 3, 67, 68, 79, 56, 1213, 323, 234, 34 };

            // 冒泡排序
             int temp2 = 0;
             for(int i = 0; i < px.Length; i++)
             {
                 for(int j = i+1; j < px.Length; j++)
                 {
                     if (px[i] > px[j])//从小到大
                     {
                         temp2 = px[i];
                         px[i] = px[j];
                         px[j] = temp2;
                     }
                 }
             }
             //选择排序
             int n ;
             for(int i = 0; i < px.Length; i++)
             {
                 n = i;
                 for(int j = i+1; j < px.Length; j++)
                 {
                     if (px[n] > px[j])//从小到大
                     {
                         n = j;
                     }
                 }
                 int temp = px[n];
                 px[n] = px[i];
                 px[i] = temp;
             }
             //插入排序
             int temp = 0;


             for(int i = 0; i < px.Length; i++)
             {
                 temp = px[i];
                 int n = i - 1;//与待排序元素值作比较的元素的下标 
                while (n >= 0 && px[n] > temp)
                {
                     px[n + 1] = px[n];
                         n--;
                }
                 px[n + 1] = temp;//找到了插入位置,插入待排序元素
             }

//遍历数组
             for (int i = 0; i < px.Length; i++)
             {
                 Console.Write(px[i]+" ");
             }
             Console.ReadKey();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值