更多西南交通大学真题,参考:西南交通大学计算机考研——数据结构真题系列
一、考研真题
3、设计一算法,实现在数据元素有序的顺序存储结构的线性表中插入一个值为x的操作。如果无存储空间则插入失败,函数的返回值为插入成功与否的标志。(8分)
4、设有两个整数集合A和B,分别用递增有序链表表示,设计一算法实现两个集合的联合运算,运算结果也有递增有序链表表示。运算后,A、B两个链表保持不变。(8分)
二、真题解析
3、设计一算法,实现在数据元素有序的顺序存储结构的线性表中插入一个值为x的操作。如果无存储空间则插入失败,函数的返回值为插入成功与否的标志。(8分)
#define QElemType int
#define MaxQSize 100 //队列最大元素个数
typedef struct
{
QElemType *base;
int rear;//指向循环队列中队尾元素的位置
int length;//表示队列中所含数据元素的个数
}SqList;
SqList Q;
int Insert(SqList &L, int x)
{
//队列以满,插入失败
if (L.length >= MaxQSize)
return -1;
if (L.length<2)return -1;
int flag;//队列增序1,减序-1
if (L.base[L.length - 1] - L.base[0] >= 0)
{
flag = 1;
}
else
{
flag = -1;
}
int m_index;
for (int i =