一维数组的输入输出查找删除
时间: 2024-05-14 18:14:13 浏览: 12
1. 一维数组的输入:
一维数组的输入可以通过循环输入每个元素,也可以通过输入一串数字并以空格分隔的方式输入整个数组。
循环输入:
```c++
int arr[10];
for(int i=0; i<10; i++){
cin >> arr[i];
}
```
输入一串数字并以空格分隔:
```c++
int arr[10];
for(int i=0; i<10; i++){
cin >> arr[i];
}
```
2. 一维数组的输出:
一维数组的输出可以通过循环输出每个元素,也可以通过使用指针输出整个数组。
循环输出:
```c++
int arr[10];
for(int i=0; i<10; i++){
cout << arr[i] << " ";
}
```
使用指针输出:
```c++
int arr[10];
int *p = arr;
for(int i=0; i<10; i++){
cout << *(p+i) << " ";
}
```
3. 一维数组的查找:
一维数组的查找可以通过循环遍历数组,找到目标元素后返回它的下标位置。也可以使用STL中的find函数来查找。
循环遍历:
```c++
int arr[10];
int target;
for(int i=0; i<10; i++){
if(arr[i] == target){
return i;
}
}
```
使用STL中的find函数:
```c++
int arr[10];
int target;
auto it = find(arr, arr+10, target);
if(it != arr+10){
return it - arr;
}
```
4. 一维数组的删除:
一维数组的删除可以通过将目标元素后面的元素全部往前移动一位,然后将数组的长度减一。也可以使用STL中的erase函数来删除。
移动元素:
```c++
int arr[10];
int target;
for(int i=0; i<10; i++){
if(arr[i] == target){
for(int j=i; j<9; j++){
arr[j] = arr[j+1];
}
arr[9] = 0;
break;
}
}
```
使用STL中的erase函数:
```c++
vector<int> arr(10);
int target;
auto it = find(arr.begin(), arr.end(), target);
if(it != arr.end()){
arr.erase(it);
}
```