一、一维数组的创建
可以直接用 数组类型+空格+数组名称[数组大小] 的方式创建
例:
//方法一
int a[10];
也可以直接在创建的时候赋初值,将要赋值的内容用大括号括起来,其余内容默认为0,例:
//方法二
int a[10]={0,1,2,5,3};
在使用第二种方法的时候,可以不写数组大小,数组的大小为初值的数量,例:
int a[]={0,1,2,5,3};
//此时a的大小为5
二、一维数组的操作
1.访问某个元素
cout<<a[10];
//代表数组a中下标为10的元素
注:数组中的下标为 0 到 n-1 (n为数组长度),而在信奥中,通常会把数组开大点,并舍弃下标为0的元素。
2.修改/赋值某个元素
a[10]=0;
//代表将数组a中下标为10的元素赋值为0
3.删除某个元素
这一部分对于新手来说比较难,建议新手反复观看。
要实现一维数组的删除,可以先列出一个表辅助思考。
\begin{pmatrix}
0 &1 & 2& 3 &4 &5 \\
9& 7 & 9 & 2 &8 &16\\
\end{pmatrix}
现在要删除下标为 3 的元素,可以把后面的元素往前移:
将下标为 3 的元素赋值为下标为 4 的元素
\begin{pmatrix}
0 &1 & 2& 3 &4 &5 \\
9& 7 & 9 & 8 &8 &16\\
\end{pmatrix}
将下标为 4 的元素赋值为下标为 5 的元素
\begin{pmatrix}
0 &1 & 2& 3 &4 &5 \\
9& 7 & 9 & 8 &16 &16\\
\end{pmatrix}
这个时候已经删除了下标为 3 的元素
有人会说:
不对啊!下标为5的元素还在没删
其实,下标为 5 的元素可以不用管他了,在后面的程序中,下标为 5 的元素也许会被赋成其他值。
实现添加元素同理:
\begin{pmatrix}
0 &1 & 2& 3 &4 &5 & 6\\
9& 7 & 9 & 2 &8 &16 & 未知\\
\end{pmatrix}
现在要删除下标将 6 添加到下标为 2 的元素与下标为 3 的元素之间,可以把前面面的元素往后移:
将下标为 6 的元素赋值为下标为 5 的元素
\begin{pmatrix}
0 &1 & 2& 3 &4 &5 & 6 \\
9& 7 & 9 & 2 &8 &16 & 16\\
\end{pmatrix}
将下标为 5 的元素赋值为下标为 4 的元素
\begin{pmatrix}
0 &1 & 2& 3 &4 &5 & 6\\
9& 7 & 9 & 2 &8 &8 &16\\
\end{pmatrix}
将下标为 4 的元素赋值为下标为 3 的元素
\begin{pmatrix}
0 &1 & 2& 3 &4 &5 & 6\\
9& 7 & 9 & 2 &2 &8 &16\\
\end{pmatrix}
将下标为 3 的元素赋值为下标为 2 的元素
\begin{pmatrix}
0 &1 & 2& 3 &4 &5 & 6\\
9& 7 & 9 & 9 &2 &8 &16\\
\end{pmatrix}
将下标为 2 的元素赋值要添加的值
\begin{pmatrix}
0 &1 & 2& 3 &4 &5 & 6\\
9& 7 & 6 & 9 &2 &8 &16\\
\end{pmatrix}
代码实现:
//删除
for(int i=m;i<=n;i++){
a[i]=a[i+1];
}//m为要删除的元素,n为数组的长度
//添加
for(int i=n;i>=m;i--){
a[i+1]=a[i];
}
a[m]=t;//t为要替换成的数,n为数组的长度
3.数组的查找
可以使用顺序查找的方法,用循环遍历,查找到就直接输出。
for(int i=1;i<=n;i++){
if(a[i]==m) cout<<i;
}//m为要查找的数,n为数组长度