Discuz! Board

 找回密码
 立即注册
查看: 380|回复: 0

1.8 插入排序作业

[复制链接]

54

主题

66

帖子

574

积分

高级会员

Rank: 4

积分
574
发表于 2023-1-8 11:25:36 | 显示全部楼层 |阅读模式
[C++] 纯文本查看 复制代码
#include<bits/stdc++.h>
using namespace std;
int a[1000],n,t,num,s=0;
void start()
{
	srand(time(0));
	cin>>n;
	for(int i=0;i<n;i++)
	{
		a[i]=rand()%100;
		printf("%d ",a[i]);
	}
}
void px()
{
	 for(int i=1;i<n;i++)
    {
    	s++;
        int j;
        t=a[i];
        for(j=i-1;j>=0;j--)
        {
            if(a[j]<t) 
			{
				a[j+1]=a[j];
				num++;
			}
            else 
			{
				num++;
				break;
			}
        }
        a[j+1]=t;
    }
}
void print()
{
	printf("\n");
	for(int i=0;i<n;i++)
	{
		printf("%d ",a[i]);
	} 
	printf("\n比较次数:%d  排序轮数:%d",num,s);
}
int main()
{
	start();
	px();
	print();
	return 0;
} 
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-7-18 07:49 , Processed in 0.064134 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表