插入排序

本文详细介绍了一种简单的排序算法——插入排序,并提供了C++语言实现的示例代码。该算法通过不断将未排序部分的第一个元素插入到已排序部分的适当位置来逐步完成整个数组的排序。

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

                   插入排序算法

      插入排序(即原地排序)
输入:n个数(a1, a2, a3, ... an).
输出:输入序列的重新排序(a1', a2', a3'... an').

   c++描述:

#include <iostream>

using namespace std;
void main()
{
 int J_Array[9] = { 3, 8, 23, 89, 1, 33, 12, 11, 21 };
 cout << "排序前的数组:" <<endl;
 int j = 0;


 while(j < 9)    //输出要排的数
 {
  cout << J_Array[j] <<" ";
  j ++ ;
 }


 cout << endl;
 cout << "排序后的数组:"<<endl;
 int key  = 0;


 for (int index = 1; index < 9; index ++)
 {
     key = J_Array[index];  //从数组第二个数开始,依次设为key
     int i = index - 1;


     while ( i >= 0 && J_Array[i] > key) //将key与前面 i 个数比较大小
      {
            J_Array[i+1] = J_Array[i];  //将大的数与key交换
            J_Array[i] = key;
            i -- ;
       }
 }


 for(int index = 0; index < 9; index ++)  //输出排好的数
              cout << J_Array[index]<<" ";
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值