主函数:
#include
typedef int eletype;
const int MaxSize = 25;
struct Sqlist
{
eletype arr[MaxSize];
int length;
};
void getArr(Sqlist & sqlist);
void showArr(const Sqlist sqlist);
Sqlist insertArr(Sqlist sqlist);
Sqlist deleteArr(Sqlist sqlist);
int main()
{
Sqlist sqlist;
getArr(sqlist);
showArr(sqlist);
Sqlist sqlist2 = insertArr(sqlist);
showArr(sqlist2);
//showArr(sqlist);
Sqlist sqlist3 = deleteArr(sqlist);
showArr(sqlist3);
system("pause");
return 0;
}
【C++ 实现线性表顺序存储结构的插入与删除】各个实现函数:
#include
typedef int eletype;
const int MaxSize = 25;
struct Sqlist
{
eletype arr[25];
int length;
};
void getArr(Sqlist & sqlist);
void showArr(const Sqlist sqlist);
Sqlist insertArr(Sqlist sqlist);
Sqlist deleteArr(Sqlist sqlist);
void getArr(Sqlist & sqlist)
{
int n;
std::cout << "Please enter the length of Array: ";
std::cin >> n;
while (n > MaxSize || n < 0)
{
std::cout << "The input is error, please enter a number ranges 0 to " << MaxSize << std::endl;
std::cin >> n;
}
int i;
for (i = 0;
i < n;
i++)
{
std::cout << "Please enter the " << i << "-th element:";
std::cin >> sqlist.arr[i];
}
sqlist.length = n;
}void showArr(const Sqlist sqlist)
{
using std::cout;
using std::endl;
for (int j = 0;
j < sqlist.length;
j++)
{
cout << "The " << j << "-th element is " << sqlist.arr[j] << endl;
}
cout << "The length of this array is " << sqlist.length << endl;
}Sqlist insertArr(Sqlist sqlist)
{
using namespace std;
int m;
cout << "Please enter a location of insert:\n";
cin >> m;
while (m<0 || m>sqlist.length)
{
cout << "The location of insert is error, please enter a location ranges 0 to " << sqlist.length << endl;
cin >> m;
}
int j;
for (j = sqlist.length;
j > m;
j--)
{
sqlist.arr[j] = sqlist.arr[j - 1];
}
eletype value;
cout << "Please enter a element in location of " << m << ": " << endl;
cin >> value;
sqlist.arr[m] = value;
sqlist.length = sqlist.length + 1;
return sqlist;
}Sqlist deleteArr(Sqlist sqlist)
{
using namespace std;
int index;
cout << "Please enter a location of delete element: ";
cin >> index;
while (index<0 || index>sqlist.length - 1)
{
cout << "The location is error, please enter a location ranges 0 to " << sqlist.length - 1 << endl;
cin >> index;
}
for (int j = index;
j < sqlist.length - 1;
j++)
{
sqlist.arr[j] = sqlist.arr[j + 1];
}
sqlist.arr[sqlist.length - 1] = '\0';
sqlist.length = sqlist.length - 1;
return sqlist;
}
推荐阅读
- 个人日记|K8s中Pod生命周期和重启策略
- 学习分享|【C语言函数基础】
- C++|C++浇水装置问题
- 数据结构|C++技巧(用class类实现链表)
- C++|从零开始学C++之基本知识
- 步履拾级杂记|VS2019的各种使用问题及解决方法
- leetcode题解|leetcode#106. 从中序与后序遍历序列构造二叉树
- 动态规划|暴力递归经典问题
- 麦克算法|4指针与队列
- 遇见蓝桥遇见你|小唐开始刷蓝桥(一)2020年第十一届C/C++ B组第二场蓝桥杯省赛真题