65 lines
1.4 KiB
C++
65 lines
1.4 KiB
C++
#include <iostream>
|
|
using namespace std;
|
|
|
|
// 定义结构体
|
|
struct MyArray
|
|
{
|
|
int arr[100]; // 数组,假设最大长度为100
|
|
int size; // 数组当前元素数量
|
|
};
|
|
|
|
// 插入函数,作为结构体外部的成员函数
|
|
void insert(MyArray &myArray, int position, int value)
|
|
{
|
|
if (position < 0 || position > myArray.size || myArray.size >= 100)
|
|
{
|
|
// 处理错误情况,例如位置无效或数组已满
|
|
cout << "无效位置或者数组已满" << endl;
|
|
return;
|
|
}
|
|
|
|
// 将从插入位置开始的元素向后移动一位
|
|
for (int i = myArray.size; i > position; i--)
|
|
{
|
|
myArray.arr[i] = myArray.arr[i - 1];
|
|
}
|
|
|
|
// 在指定位置插入新值
|
|
myArray.arr[position] = value;
|
|
|
|
// 更新数组大小
|
|
myArray.size++;
|
|
}
|
|
|
|
// 打印函数,作为结构体外部的成员函数
|
|
void print(const MyArray &myArray)
|
|
{
|
|
for (int i = 0; i < myArray.size; i++)
|
|
{
|
|
cout << myArray.arr[i] << " ";
|
|
}
|
|
cout << endl;
|
|
}
|
|
|
|
int main()
|
|
{
|
|
MyArray myArray; // 创建MyArray实例
|
|
|
|
// 初始化数组和size
|
|
for (int i = 0; i < 5; i++)
|
|
{
|
|
myArray.arr[i] = i + 1;
|
|
}
|
|
myArray.size = 5; // 设置数组当前大小
|
|
|
|
// 在指定位置插入新值
|
|
int insertPos = 2;
|
|
int newValue = 10;
|
|
insert(myArray, insertPos, newValue);
|
|
|
|
// 打印数组
|
|
print(myArray);
|
|
|
|
return 0;
|
|
}
|