zoukankan      html  css  js  c++  java
  • 培训第七天

    又是新的一天,又是一条充满希望的咸鱼

    今天有复习了数组,又学习了数组的相关运算:插入、删除、查找、平移

    但还是不完全理解

    今天只做出了四道题(其中有一道题还是抄的),不开心啊啊啊

    关于数组的运算:

    插入:若插入一个数,应把插入位置后的数往后移一位,且要从最右边的数开始,一个一个向右移,利用循环,可以用左边的数代替向右移之前的数,若从插入位置后的数开始往右移,则向右移的数都变成了插入位置后的数。举个栗子,1 2 3,若将数字“2”插入在“1”后,且从“1”开始右移,则第一次移动后,“3”被“2”赋值,“3”变成“2”,再次向右移时,则原来的“3”,也就是现在的“2”向右移,则会输出1 2 2 2,;若从最右边的数开始右移,则“3”向右移以为,成了1 2 3 3,再次右移时,原来的“3”的左边的数,即“2”,赋值给“3”,以此类推,最后会输出1 5 2 3(因为每次右移后都会多一个数,所以循环时上次右移的数的左边的数就会向右移,因此能够实现从左到右依次右移,不知道这么理解对不对)

    删除:删除与插入相反,需要由被删除数开始,从左至右依次给左边的数赋值,从而实现删除的目的,然而最后一次循环结束,数字还是以前那么多,因为最右边的数给其左边的数赋值了,而并没有其它数给它赋值,这时需要在循环结束后把原来的数字个数减1,把最右边的数减去(大概是这样吧)

    查找:查找相对简单,即让数组中的每一个数都与被查找数比较,若相同,输出下标(具体看题目要求),但查找与bool相结合还是很生疏

    平移:书上定义:平移就是删除第一个数,再给最后一个元素赋值(删除具体解释见以上哇啦哇啦),因此需要定义某个字母用来存放第一个值,循环结束后再把这个值赋值给最后一个元素即可实现平移

    今天对函数又有了一丢丢了解,若是int函数,需要有返回值,将这个返回值返回到这个函数所在位置,进行所在位置的操作;若是其它函数,不需要有返回值,只要有这个操作步骤就OK

    这是今天做的题,需要讲解的东西应该都在上面了

     1 #include<iostream>
     2 using namespace std;
     3 int main()
     4 {
     5     int M,T,t1,t2,t3,a=0,t=0,b=0;
     6     char ch1;
     7     cin>>M>>T>>t1>>t2>>t3;
     8     for(int i=1;i<=T;i++)
     9     {
    10         cin>>ch1;
    11         if(ch1=='u') a=t1+t3;
    12         if(ch1=='f') a=t2+t2;
    13         if(ch1=='d') a=t1+t3;
    14         t=t+a;
    15         if(t>=M)
    16         {
    17             b=i;
    18             break;
    19         }
    20         b++;
    21         if(i==T)
    22         {
    23             b=T;
    24             break;
    25         }
    26     }
    27     if(t>M) cout<<b-1<<endl;
    28     if(t==M) cout<<b<<endl;
    29     if(b==T) cout<<b<<endl;
    30     return 0;
    31 }
     1 #include<iostream>
     2 //#include<cstdio>
     3 using namespace std;
     4 int n,a[9000000];
     5 int shuchu(int i)
     6 {
     7     return a[i];
     8 }
     9 void charu(int i,int k)
    10 {
    11     for(int j=n;j>=i+1;j--) a[j+1]=a[j];
    12     a[i+1]=k;
    13     n++;
    14 }
    15 void shanchu(int i)
    16 {
    17     for(int k=i;k<n;k++) a[k]=a[k+1];
    18     n--;
    19 }
    20 void chazhao(int i)
    21 {
    22     bool flag=false;
    23     for(int p=1;p<=n;p++)
    24         if(a[p]==i)
    25             {
    26                 cout<<p<<endl;
    27                 flag=true;
    28                 break;
    29             }
    30     if(flag==false) cout<<"-1"<<endl;
    31 }
    32 int main()
    33 {
    34     //freopen("in","r",stdin);
    35     //freopen("out","w",stdout);
    36     int m,k;
    37     char ch1;
    38     cin>>n;
    39     for(int i=1;i<=n;i++)
    40         cin>>a[i];
    41     cin>>m;
    42     for(int I=1;I<=m;I++)
    43     {
    44         int i;
    45         cin>>ch1;
    46         if(ch1=='1')
    47         {
    48             cin>>i;
    49             cout<<shuchu(i)<<endl;
    50         }
    51         if(ch1=='2')
    52         {
    53             cin>>i>>k;
    54             charu(i,k);
    55         }
    56         if(ch1=='3')
    57         {
    58             cin>>i;
    59             shanchu(i);
    60         }
    61         if(ch1=='4')
    62         {
    63             cin>>i;
    64             chazhao(i);
    65         }
    66         //for(int J=1;J<=n;J++)
    67             //cout<<a[J]<<' ';
    68         //cout<<endl;
    69     }
    70 return 0;
    71 }

    手机版的博客园用着好别扭,随笔格式就这样吧逼死强迫症

    梦想用不过期,深呼吸,再试试

    加油!共勉!

     1 #include<iostream>
     2 using namespace std;
     3 int main()
     4 {
     5     int n,a[110],maxx=-9000000,b=0;
     6     cin>>n;
     7     for(int i=0;i<n;i++)
     8         cin>>a[i];
     9     for(int i=0;i<n;i++)
    10     {
    11         if(a[i]>maxx)
    12         {
    13             maxx=a[i];
    14         }
    15     }
    16     for(int i=0;i<n;i++)
    17         if(a[i]!=maxx)
    18         {
    19             cout<<a[i]<<' ';
    20             b++;
    21         }
    22         /*if(a[i]==maxx)
    23         {
    24             for(int j=i;j<n;j++)
    25                 a[j]=a[j+1];
    26             n--;
    27             i--;
    28         }*/
    29     if(b==0) cout<<"none"<<endl;
    30     /*else
    31         for(int i=0;i<n;i++)  cout<<a[i]<<' ';*/
    32     return 0;
    33 }
     1 #include<iostream>
     2 using namespace std;
     3 int main()
     4 {
     5     int a=1,b=1,n;
     6     cin>>n;
     7     for(int i=1;i<n;i++)
     8     {
     9         if(a==1&&b%2==1) b++;
    10         else if(b==1&&a%2==0) a++;
    11         else if((a+b)%2==0) {a--;b++;}
    12         else if((a+b)%2==1) {a++;b--;}
    13     }
    14     cout<<a<<'/'<<b<<endl;
    15     return 0;
    16 }

  • 相关阅读:
    [20211108]索引分裂块清除日志增加(唯一索引)2.txt
    [20220104]in list 几种写法性能测试.txt
    [20211215]提示precompute_subquery补充.txt
    [20211217]滑稽可笑的程序代码2.txt
    SourceTree通过配置SSH来链接GitLab
    Docker在虚拟机中的安装
    .Net 6 Log4Net【.Net Core】
    es(elasticsearch)磁盘清理记录
    JSON 之 Jackson
    git FAQ
  • 原文地址:https://www.cnblogs.com/zrjl/p/7270050.html
Copyright © 2011-2022 走看看