做一个有插入,查找删除的顺序表
时间: 2023-12-27 21:34:47 浏览: 20
好的,以下是用中文回复:
要建立一个n个学生成绩的顺序表,可以使用数组来实现。例如,定义一个长度为n的数组,每个元素表示一个学生的成绩。
对于插入操作,可以在指定位置插入一个新的成绩。具体实现可以使用循环,将插入位置后面的元素依次向后移动一位,然后将新成绩插入到指定位置。
对于删除操作,可以删除指定位置的成绩。具体实现也可以使用循环,将删除位置后面的元素依次向前移动一位,然后将最后一个元素删除。
对于查找操作,可以遍历整个数组,找到指定成绩所在的位置。如果找到了,就返回该位置;如果没有找到,就返回-1。
具体实现可以参考以下代码:
// 定义一个长度为n的数组,存储学生成绩
int scores[n];
// 插入操作
void insert(int index, int score) {
// 将插入位置后面的元素依次向后移动一位
for (int i = n - 1; i > index; i--) {
scores[i] = scores[i - 1];
}
// 将新成绩插入到指定位置
scores[index] = score;
}
// 删除操作
void remove(int index) {
// 将删除位置后面的元素依次向前移动一位
for (int i = index; i < n - 1; i++) {
scores[i] = scores[i + 1];
}
// 将最后一个元素删除
scores[n - 1] = ;
}
// 查找操作
int search(int score) {
// 遍历整个数组,找到指定成绩所在的位置
for (int i = ; i < n; i++) {
if (scores[i] == score) {
return i;
}
}
// 如果没有找到,就返回-1
return -1;
}
希望能对您有所帮助!