设计算法实现顺序表的插入运算InsertSeqlist(SeqList L,DataType x,int i)。该算法是"> 设计算法实现顺序表的插入运算InsertSeqlist(SeqList L,DataType x,int i)。该算法是">

假设线性表的数据元素的类型为DataType,顺序表的结构定义如下: 设计算法实现顺序表的插入运算InsertSeqlist(SeqList L,DataType x,int i)。该算法是

假设线性表的数据元素的类型为DataType,顺序表的结构定义如下: 设计算法实现顺序表的插入运算InsertSeqlist(SeqList L,DataType x,int i)。该算法是指在顺序表的第i(l≤i ≤ n+1)个元素之前,插入一个新元素x。使长度为n的线性表 (a1,a2,…,ai-1,ai,…,an)变为长度为n+1的线性表(a1,a2,…,ai一1,X,ai,…,an)。


【正确答案】:void InsertSeqlist(SeqListL,DataTypex,int i){ if(L.length == Maxsize) exit(“表已满”);if(i< 1||i> L.length + 1) exit(“位置错”);for(j= L.length; j>=i; j--)L.data[j]= L.data[j-1];L.data[i-1]= x;L.length++;}
【题目解析】: 顺序表插入算法的基本操作步骤:① 判断L是否已满?当L.last==maxsize时,表示L已满。② 判断i值是否合法?当iL.last时,i值不合法。③ an 到 ai依次向后移一个位置(共移动n-i+1个元素)。④ 将x存放到第i个位置处。⑤ 表长加1。
Top