C++一维数组初步

一、一维数组的创建

可以直接用 数组类型+空格+数组名称[数组大小] 的方式创建
例:

//方法一
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的元素

注:数组中的下标为 0n-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为数组长度

这种删除和修改有点像链表(doge

求点赞