首页 > 其他分享 >每日打卡-20.2

每日打卡-20.2

时间:2023-05-10 21:22:17浏览次数:36  
标签:tmp 20.2 int 插入排序 void 打卡 排序 每日

一.问题描述

初始化 int类型数组 datal[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14, 16,18,20},应用本章的直接插入排序函数模板进行排序。对此函数模板稍做修改,加入输出语句,在每插入一个待排序元素后显示整个数组,观察排序过程中数据的变化,加深对插入排序算法的理解。

二.设计思路

三.流程图

四.伪代码 

1

五.代码实现 

#include<iostream> 
using namespace std;
 
template<class T>
void swapData(T &a,T &b)
{
	T t=a;
    a=b; 
	b=t;
} 
 
template<class T>
void insertSort(T a[],int n)
{
    int i,j,k;
	int tmp;
 
    for(i=1;i<n;i++) 
    {
		tmp = a[i];   //将array[i]保存在临时变量tmp中
        j = i - 1;
        while(j>=0 && tmp<a[j]) {	
            a[j+1] = a[j--];    //循环找到array[i]应该放置的位置
		}
        a[j+1] = tmp;	/*将元素tmp插入指定位置*/
        for(k=0;k<n;k++)
			cout<<a[k]<<" ";
		cout<<endl;
    }
}
int main()
{
	int a[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20};
	
	cout<<"排序前的数据:"<<endl; 
	for(int i=0; i<20; i++)
		cout<<a[i]<<" ";
	cout<<endl;
	
	cout<<"进行排序:"<<endl;
	insertSort(a,20);
	
	cout<<"排序后的数据:"<<endl; 
	for(int i=0; i<20; i++)
		cout<<a[i]<<" ";
	cout<<endl;
 
	return 0;
}
 
 

 

标签:tmp,20.2,int,插入排序,void,打卡,排序,每日
From: https://www.cnblogs.com/leapssisbird/p/17389377.html

相关文章

  • 5-10打卡 练习
    typedefstructlist{ intdata; list*next;}list;list*initlist(){ list*a=newlist; a->data=0; a->next=NULL; returna;}voidpushback(list**h,intn){list*a=newlist;a->data=n;a->next=NULL;list*......
  • 每日总结-23.5.10
    <%@pageimport="java.util.Calendar"%><%@pageimport="wangzhan.Thesql"%><%@pageimport="wangzhan.Pd_P_assignment"%><%@pageimport="wangzhan.Pd_S_assignment"%><%@pagelanguage=&......
  • 每日打卡
    回文数问题描述:回文数指形如abcba类的数,求小于n<256的回文数问题分析:看千位权重与十位相同需要用循环写出个位t与十位i代码:#include<stdio.h> intmain() {            intm[16],n,i,t,count=0;            longunsigneda,k;      ......
  • 每日总结 5.10
    今日操作了python的大作业。随后进行了供货商web端的页面显示。实现每条请求所需要付款数 实现对于售卖机的页面改进广告弹窗的自动关闭和主动关闭 ......
  • 5月10日打卡
    例4-11题目描述:设计一个结构体存储学生的成绩信息,需要包括学号年级和成绩三项内容,学号的范围是0到99999999,年级分为freshman、sophomore、junior、、senior四种,成绩包括A、S、C、D四个等级。分析:1.学号包括27个二进制位有效信息,而年级、成绩各包括2个二进制位有效信息,采用......
  • 5.10打卡
    一、问题描述:求任意两个正整数的最小公倍数(LCM)。二、设计思路:对于输入的两个正整数m和n,每次输入的大小顺序可能不同,为了使程序具有一般性,首先对整数m和n进行大小排序,规定变量m中存警大数、变量n中存储小数。若输入时m的值小于变量n的值,则需要交换两个变量中存储的内容。再次强调:......
  • 打卡第十九天
    计算正五边形的面积和周长 一、正五边形的面积公式为:S=a2×25+10×5​​/4二、三、#include<iostream>#include<cmath>usingnamespacestd;intmain(){doublea,b,c;cin>>a;c=5*a;b=a*a*(sqrt(25+10*sqrt(5)))/4;cout<<b<<endl<<c<<end......
  • 第19天打卡
    问题: 算法设计:可以全部看成同一种单位角,所以1元的为10角可以取整10数(0,50),同时5角可以取被五整除的数范围相同,一角可以取0,50所有的数,让他们加到一起等于50即可;源代码:#include<stdio.h>intmain(){ intx,y,z,count=1; for(x=0;x<=50;x+=10) for(y=0;y<=50-x;y+=5) for(z=0;z<=......
  • 打卡11
    importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);Stringa=sc.next(),b=sc.next();if(a.length()<b.length()){Stringt=a;a=b;......
  • 每日总结5-10日(web发布成网址)
    步骤:一、建一个简单的javaweb项目1.建立一个项目2.创建一个主页3.插入内容和图片二、百度云1.进入官网https://cloud.baidu.com/2.注册/登入帐号3.实名认证4.因为发布到网上是需要一点费用的,......