直接插入排序

#include<stdio.h>
#include<iostream.h>
#define N 10
#define OVERFOLW 0
#define OK 1
#include<conio.h>
#include<stdlib.h>
typedef struct 
{
int length;
int r[N];



}sqlish;


void insertsort(sqlish *L)
{
for(int i=2;i<=L->length;i++)
{
if(L->r[i]<L->r[i-1])
{
L->r[0]=L->r[i];
for(int j=i-1;L->r[j]>L->r[0];j--)
    L->r[j+1]=L->r[j];
L->r[j+1]=L->r[0];


}
cout<<"第"<<i-1<<"次排序"<<endl;
for(int n=1;n<=L->length;n++)
{
printf("%d ",L->r[n]);
}
  printf("\n");


}
}


int main()
{
int i;
sqlish l;
cout<<"how many numble you want to input:"<<endl;
cin>>l.length;
for(i=1;i<=l.length;i++)//l.r[i]=rand()%100;
cin>>l.r[i];
cout<<"原始数据为"<<endl;
for(i=1;i<=l.length;i++)
{
printf("%d ",l.r[i]);
}
printf("\n");
insertsort(&l);
    cout<<"排序后的数据为"<<endl;
for(i=1;i<=l.length;i++)
printf("%d ",l.r[i]);
return 0;


}


老师说要把每一次的排序结果都弄出来 ,不然各种排序方法的结构都是一样的 看不出来 

一开始也没有完整的头绪,总是有一点东西连不上,但是关键的不是一定要全部弄出来只要稍微有点想法然后就去做剩下的就是一点一点改 一口吃不成一个大胖子



结果如下 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值