c++数组

文档说明

  • 此文档记录了C++普通数组实现增删改查的方法

声明

1
2
3
int const 数组最大长度=10;      //声明数组最大长度
int 数组数据=[N+1]; //声明数组,长度为11 同:int 数组数据[11];
int 元素数量=0; //声明一个整形遍历,用来记录存储数组元素数量

插入数组的方法

  • 创建一个带有一个参数的方法
  • 判断数组数组元素数量是否等于最大数组元素,如果等于则返回跳出
  • 如果元素数量小于最大元素数量,数组=等于参数,元素数量+1,
1
2
3
4
5
6
7
8
9
void 插入元素(int 元素)
{
if (元素数量==数组最大长度)
{
cout<<"数组满了"<<endl;
return; //跳出函数
}
数组数据[元素数量=元素数量+1]=元素; //数组数据[1]=元素
}

  • 通过以上方法可以通过for直接插入数组
1
2
3
4
for(int i=1;i<=5;i++)       //此时想数组数据插入了1,2,3,4,5   元素数量也加到了5
{
插入元素(i);
}

指定位置前插入元素

  • 判断元素数量与最大数量
  • 判断下标是否越界,小于1或者大于最大值
  • 获取要添加数组的位置并将后面的数组往后移动
  • 将数组插入
  • 元素数量加1
1
2
3
4
5
6
7
8
9
10
11
void 指定位置插入(int 索引,int 元素)
{
//判断最大值代码...
//判断边界代码...
for(int i=元素数量;i>=索引;i--)
{
元素[i+1]=元素[i];
}
数据元素[索引]=元素;
元素数量++; //灵魂=找到数组位置并移动后面的数组
}

找到指定元素

  • 遍历元素,如何存在就返回索引
1
2
3
4
5
6
7
8
int 找到指定元素(int 元素)
{
for(int i=1;i<=元素数量;i++){
if(数组数据[i]==元素)
return i;
}
return -1;
}

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include<iostream>
using namespace std;

const int 最大元素数量=10;
int 数据[最大元素数量 + 1];
int 元素数量 = 0;

void 插入元素(int 元素)
{
if (元素数量 == 最大元素数量)
{
cout << "容器满了" << endl;
return;
}
数据[元素数量] = 元素;
元素数量++;
}

void 指定位置插入元素(int 索引,int 元素)
{
if (元素数量 == 最大元素数量)
{
cout << "容器满了" << endl;
return;
}
if (索引 < 1 || 索引 == 最大元素数量)
{
cout << "超出界限" << endl;
return;
}
for (int i = 元素数量; i <= 索引; i--)
{
数据[i+1] = 数据[i];
}
数据[索引] = 元素;
元素数量++;
}
int 查找指定元素(int 元素)
{
for (int i = 0; i <= 元素数量; i++)
{

if (数据[i] == 元素)
{
return i;
}

}
return -1;
}

void 删除指定元素(int 元素)
{
if (元素数量 == 0)
{
cout << "元素为空" << endl;
}
int 位置 = 查找指定元素(元素);
if (位置 == -1)
{
cout << "没有指定元素" << endl;
}
for (int i = 位置; i <= 元素数量; i++)
{
数据[i] = 数据[i+1];
}
元素数量--;
}

int main()
{

插入元素(20);
插入元素(90);
插入元素(70);

cout << 数据[查找指定元素(70)] << endl;

}