c++实现插入排序

#include "stdafx.h"
#include<iostream>
using namespace std;
#define N 10
//插入排序
int _tmain(int argc, _TCHAR* argv[])
{
	int x,i,j;
	int a[N+1]={1,2,3,6,7,8,9,11,16,26};
	cout<<"The previous number is:"<<endl;
	for(i=0;i<N;i++)
		cout<<a[i]<<"  ";
	cout<<endl;
	cout<<"Please input a number:"<<endl;
	cin>>x;
	for(i=0;i<N;i++)
		if(a[i]>x)  break;//查找位置,先找到所要插入的数的位置,找到位置后,x的下标为i
	for(j=N-1;j>=i;j--)//腾位置:从最后一个数开始依次往后挪,最开始排好序的数组中最后一个数的下标为N-1,
		a[j+1]=a[j];//一直往后挪,直到原数组中第i个数往后挪完了为止
	a[i]=x;//写入(将要插入的数放到相应的位置)
	cout<<"The sorted number is:"<<endl;
	for(i=0;i<N+1;i++)
		cout<<a[i]<<"  ";
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43090158/article/details/86212726