用C++描述顺序表中 待插入元素×小于表中第一个元素的值,则将其插入到表的第1个位置;若待插入元素x大于表中最后一个元素的值,则将其插入到表的最后;否则,将x与相邻元素比较,若x大于等于第i-1个元素,小于等于第i个元素,则将x插入到第i个位置。
时间: 2024-06-10 11:08:26 浏览: 30
数据结构与算法c++实现 两个顺序表的元素严格单调递增,将其共同元素保存到新顺序表中,且为递增排序
5星 · 资源好评率100%
可以使用以下代码描述该算法:
```
int insert(int x, int* table, int n){
int i = 0;
while(i < n && x > table[i]){
i++;
}
if(i == 0 || x < table[0]){
// insert at the beginning
for(int j = n; j > 0; j--){
table[j] = table[j-1];
}
table[0] = x;
return 0;
}else if(i == n || x > table[n-1]){
// insert at the end
table[n] = x;
return n;
}else{
// insert at the ith position
for(int j = n; j > i; j--){
table[j] = table[j-1];
}
table[i] = x;
return i;
}
}
```
该函数接受三个参数:待插入元素x、顺序表table和表中元素的个数n。函数返回插入的位置。如果插入在表的开头,则返回0;如果插入在表的结尾,则返回n;否则返回插入的位置i。
阅读全文