数组总结

数组总结
一,知识结构
数组是一组具有相同类型的变量的集合。使用一个统一的名字来标识这组相同类型的数据,这个名字成为数组名,构成数组的每个数组的每个数据项称为数组元素。c程序通过数组的下标实现对数组元素的访问。
注意:1,c语言中数组的下标都是从0开始的。
2,在定义数组时不能使用变量定义数组的大小。
3,下标不能越界,编译程序不检查是否越界可能会导致访问数组以外的空间,那里的数据是未知的,不受我们掌控,可能带来严重后果。
数组的输入:
输入一个数组要为挨个为其元素赋值,例如:
for(int i=0,i<n,i++) cin>>a[i];
memset(a,0,sizeof(a))作用是把数组a清零,它在cstring中定义,虽然也能用for循环完成,但memset更方便。
数组排序:
可分为冒泡排序和插入排序两种
冒泡排序:
 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;
插入排序:
void insSort(int a,int num)
{
for(i=1;i<num;i++)
{
l= i-1;temp=a[i];
while(l>=0&&a[l]>temp)
{
a[l+1]=a[l];
l–;
}
a[l+1]=temp;
}
}
二维数组的定义和初始化
定义格式:
类型 数组名[第一维长度][第二维长度];
一维数组在内存中占用的字节数为:数组
sizeof(基类型),二维数组占用的字节数:第一维长度第二维长度sizeof(基类型)
注意:数组第二维的长度声明永远不能省略
字符串数组:
与其他数组一样的方式,例如:
char str[3]={‘h’,‘e’,‘\0’}
输入:scanf语句得到的字符串不会存在空格,否则就是输入下一个字符串,这时可用gets语句,使用gets只能输入一个字符串,读入是一整行,包括空格
输出则可以用puts语句
二,学习感想
通过学习本章知识结构。可以解决如下几个问题,以区域化的方式调整数据,方便各种复杂运算的进行。比方说,要在定义的数组内完成乘加除减的工作。还有行和列的转换替换。这些看似复杂的工作,利用数组都可以解决。极大方便了,我们写程序的效率。数组真是个好东西。比起循环速速,更可以解决一些实际生活中的问题。比方说我们常见的扫雷游戏利用速度可以轻易的破解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值