首页 > 学院 > 开发设计 > 正文

直接插入排序

2019-11-08 02:38:06
字体:
来源:转载
供稿:网友

 算法描述:

 For j=0 T0 n Do

         key<--A[j]

         i<---j-1

        while  i>0 AND A[i]>key Do

        A[i+1]>A[i]

        i<---i-1

        A[i+1]<---key

 

代码:

#include<iostream>#include<stdio.h>using namespace std;void InsertSort(int arr[],int n){    int i,j;    int temp;    for(i=1; i<n; i++)    {        temp=arr[i];        j=i-1;        while(j>=0&&temp<arr[j])        {            arr[j+1]=arr[j];//将关键字大于temp的元素后移            j--;        }        arr[j+1]=temp;//在j+1处插入temp    }}int main(){  int arr[10];  for(int i=0;i<10;i++)  {      cin>>arr[i];  }  int len=10;  InsertSort(arr,len);  for(int j=0;j<10;j++)  {      cout<<arr[j]<<" ";  }  cout<<endl;  return 0;}排序流程:


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表