include
#include <string>
using namespace std;
typedef struct {
int *elems;
int length;
int size;
}MyStruct;
void initData(MyStruct &list) {
list.elems = new int[100];
list.length = 0;
list.size = 100;
}
void showList(MyStruct &list) {
cout << "length:"<< list.length <<"-size:" <<list.size << endl;
for (int i = 0; i < list.length;i++) {
cout << list.elems[i] << " ";
}
}
bool assignment(MyStruct &list,int length,int e) {
if (list.length == list.size) return false;
list.elems[list.length] = e;
list.length++;
return true;
}
bool interpolation(MyStruct &list,int i,int val) {
if (list.length == list.size) return false;
if (i < 0 && i>100) return false;
for (int j = list.length - 1; j >=i;j--) {
list.elems[j+1] = list.elems[j];
}
list.elems[i] = val;
list.length++;
return true;
}
int main() {
int count;
int val;
MyStruct list;
initData(list);
showList(list);
cout << "请输入新增元素长度" << endl;
cin >> count;
for (int i = 0; i < count;i++) {
cout << "输入" << i+1 << "个元素值" << endl;
cin >> val;
if (assignment(list,i,val)) {
cout << "新增成功" << endl;
}else{
cout << "失败" << endl;
}
}
showList(list);
cout << "" << endl;
cout << "输入插入个数与值" << endl;
cin >> count >> val;
if (interpolation(list, count, val)) {
cout << "插入成功" << endl;
}else{
cout << "插入失败" << endl;
}
showList(list);
system("pause");
return 0;
}