数组总结

一.知识点

1.数组定义

  数组是按顺序排列的一组具有相同类型的变量的集合,它是一种构造数据类型。

2.a[5]

  任何一个元素都称为数组元素或下标变量,一般情况,a[5]是指a[0],a[1],a[2],a[3],a[4],而下标5是指该数组包含5个元素。若无特殊要求,数组的下标都是从零开始的,下标越界是大忌。

3.在主函数之外定义的数组为全局数组,数值初始化;之内为局部数组,数值未初始化。数组 要定义为全局数组。

4.二维数组

  数组名[第一维长度][第二维长度],例如a[5][5];

5.数组初始化

  int a[5]={1,23,45,21,7};

  int a[2][5]={{1,2,3,4,5},{6,7,8,9,10}};

6.字符数组

  ①.字符数组是指元素为字符的数组。字符数组是用来存放字符序列或字符串的。字符数组也有一维、二维和三维之分。

  ②.字符数组的定义格式

  字符数组定义格式同于一般数组,所不同的是数组类型是字符型,第一个元素同样是从ch1[0]开始,而不是ch1[1]。具体格式如下:

  [存储类型] char 数组名[常量表达式1]…

  例如:

  char ch1[5]; //数组ch1是一个具有5个字符元素的一维字符数组

    char ch2[3][5]; //数组ch2是一个具有15个字符元素的二维字符数组

7.常用算法

  ①.冒泡排序

  #include<iostream>

 #include<iomanip>

 using namespace std;

 const int n=10;

 int t,a[n+1]; //定义数组

 int main()

 {

  for (int i=1; i<=n; ++i) cin>>a[i]; //输入十个数

  for (int j=1; j<=n-1; ++j);//冒泡法排序

  for (int i=1; i<=n-j; ++i) //两两相比较           

            if (a[i]<a[i+1]) //比较与交换

  {t=a[i]; a[i]=a[i+1]; a[i+1]=t;}

  for (int i=1; i<=n; ++i)               

               cout<<setw(5)<<a[i]; //输出排序后的十个数

  cout<<endl;

  return 0;

 }

  ②.折半查找

  while(low<=high)

 {

       mid=(low+high)/2;

       if(a[mid]>temp)

       high=mid-1;

       else if(a[mid]<temp)

        low=mid+1;

        else

        couture<<a[mid]<<endl;

          

                 } 

cout<<"Not Found!"<<endl;

}     

二.解决的问题

1.与矩阵相关的问题

2.实际问题:校门外的树,石头剪刀布,做游戏,有趣的跳跃,年龄与疾病等等。

三.感想

  有关数组内容的部分题目,自己很难理解透,所以在写代码时会漏洞百出,在遇到很长的题目时,也会出现不想去花时间去想去做的情况,但是看到自己修改了一遍又一遍的代码终于AC了,心里也还是很高兴的。

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值