数组总结

数组总结
数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。数组是在程序设计中,为了处理方便,按照顺序排列的一组同种类型的数据构成的集合,一个数组在内存中占一片连续的存储单元。
说明数组时元素个数一定是常量,不能是变量,另外注意第一个元素下标是0。
把一个数组的值赋值给另一个数组(令两个数组相等),可以利用逐个元素或循环语句进行赋值。数组清零可以利用memset函数头文件为cstring。
解决问题
数据量较大时,需要定义多个变量,可以用数组代替。
数组主要涉及知识点
一维数组的初始化,赋值;二维数组初始化 赋值;排序和查找以及字符数组等。
排序主要有冒泡排序和插入排序,也可以用sort函数(默认升序排列)头文件为。
降序排列可以定义一个函数 如:
int comp(int a,int b)
{
return a>b;
}
加在sort中
查找
顺序查找需要将所有情况遍历一遍,可以用二分法折半查找缩短查找时间但是要注意使用二分法时数组一定要顺序排列!!
字符数组
在字符数组输入的时候要注意scanf get getline cin.get的用法及特点并且一维字符数组在存储字符串的时候自动的在末尾加’\0’。scanf语句得到的字符串无空格!
定义数组最需要注意的是下标不能越界!!!

下面附上冒泡排序的代码
#include
using namespace std;
int main()
{
int a[100],i=1,max;
while(cin>>a[i])
{i++;}
i–;
for(int j=1;j<=i-1;j++)
{for(int k=1;k<=i-j+1;k++)
{
if(a[k]<a[k-1])
{
max=a[k-1];
a[k-1]=a[k];
a[k]=max;
}
}
for(int j=1;j<=i;j++)
cout<<a[j];
cout<<endl;
}
return 0;
}
插入排序的代码
#include
using namespace std;
int main()
{
int n,a[1000],b,l;
cin>>n;
for(int i=1;i<=n;i++)
{cin>>a[i];}
for(int i=2;i<=n;i++)
{
l=i;
b=a[i];
for(int s=i-1;s>=1;s–)
if(b>=a[s])
{
l=s;
break;
}
if(l!=i)
{for(int k=i-1;k>=l;k–)
a[k+1]=a[k];
a[l+1]=b;}

 for(int i=1;i<=n;i++)
  cout<<a[i];
 cout<<endl;
  }
  return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值