{2018.4.10}荀(gou)彧(huo)的数组整合时间

前天晚上终于结束了和for循环的历史性斗争;

那70道题基本上都是水过去的;

脑子不够用嘛;

只能看看人家代码然后自己再思考;

最后千辛万苦码一个三十几行的小程序出来;

编译的时候还是一片血红;

内心绝望;

然后接下来就开始了最基本的一维数组的题目;

讲真;

荀彧同学眼神不大好;

看到的是“一堆数组”(岳老师估计会哭晕在宿舍里);

给大家整合一下一堆数组的基本操作吧;

oj上的#76中的一些基本操作(五十多行代码真的有点烦);

1>查找一个数是否在数组里;

int x;

cin>>x;

int a[110];  //数组括号里要开大要开大要开大(重要的事情说三遍),否则运行的时候可能会因为溢出最后结果出现一些奇奇怪怪的东西

for(int i=1;i<=n;i++) //这就是令我吐血的for 循环君,脑子不够,也就开始撸数组题之前才刚刚把for循环的机制搞懂,至于应用还差一些,要多刷题,少划水

    if(a[i]==x)   cout<<i<<endl;   //yu果a[i]和x相等,那么不就查找到了吗?输出就可以了;第一篇总结低级错误的博客里也说了,双等号不能忘啊,错在电脑,痛在我心;还有缩进的问题,为了让代码更易(好)懂(看),yu果下面这一行的代码属于上面一行的附属(原谅我不会用术语),那就要缩进3-4个空格,看个人习惯而定吧

2>删除某个元素   (接下来代码中的注解可能会少一点,因为毕竟上面那个多了嘛)

for(int i=k;i<n;i++)   a[i]=a[i+1]  //这里就是删除的过程,把后一个数提到前一位

n--;  //由于上一步中吧把后一个数提到前一位,所以最后两位是一样的,要把数组减掉一位,这样才算真正完成了某个元素的删除

3>插入某个元素

for(int i-n;i>=k;i--)   a[i+1]=a[i];  //这里先把第k个位置腾出来

a[k]=x;  //这里就是把k插入到已经腾出来的位置里

n++;   //最后总位数+1

//其实插入和删除的原理很像,只不过一个是把位子腾出来加进去,另一个是减掉一个位置,明白之后就很容易理解末尾的n++、n--这种东西了,信奥的一切是建立在理解的基础上的

//可能我讲的有些水,也有很多地方不对,毕竟是一个才接触C++的小萌新给自己做一个总结,希望各位大佬给予纠正与指导;

全文终。

猜你喜欢

转载自blog.csdn.net/tereya/article/details/79875333