删除 Status ListDelete(SqList *L,int i) { int j; if((i<1)||(i>L->length)) return ERROR; for(j=i;j<=L->length-1;j++) ___________________; _________________; return OK; }
举一反三
- 函数ListDelete_sq实现顺序表删除算法,请在空格处将算法补充完整。 int ListDelete_sq(Sqlist *L,int i){ int k; if(i<1||i>L->length) return ERROR; for(k=i-1;klength-1;k++) L->slist[k]=L->slist[k+1]; ; return OK; }
- 阅读下列算法,并回答问题: void fun(SeqList *L, DataType x) {int i=0,j; while (i[L-]length && x>L->data[i])i++; if(i[L-]length && x==L->data[i]) {for(j=i+1;j[L-]length;j++) L->data[j-1]=L->data[j]; L->length--;} else {for(j=L->length;j>i;j--) L->data[j]=L->data[j-1]; L->data[i]=x; L->length++; } } (1)设顺序表L=(3,7,11,14,20,51), 写出执行fun(&L,15)之后的L=(_____________) (2)设顺序表L=(4,7,10,14,20,51),写出执行fun(&L,10)之后的L= (_____________)[/i][/i][/i]
- 已知线性表L=(21,-7,-8,19,0,-11,34,30,-10),写出执行f30(&L)后的L状态。()voidf30(SeqList*L){inti,j;for(i=j=0;ilength;i++)if(L->data[i]>=0){if(i!=j)L->data[j]=L->data[i];j++;}L->length=j;}[/i][/i] A: L=(-7,-8,0,-11,-10) B: L=(21,19,34,30) C: L=(21,19,0,34,30) D: L=(-7,-8,-11,-10)
- struct record{int key; int others;}; int hashsqsearch(struct record hashtable[ ],int k) { int i,j; j=i=k % p; while (hashtable[j].key!=k&&hashtable[j].flag!=0){ j=(____________) %m; if (i==j) return(-1); } if (_______________________ ) return(j); else return(-1); }
- 【单选题】以下算法的时间复杂度() void matrimult(int a[M][N],int b[N][L],int c[M][L]) // { int i,j,k; for(i=0;i<M;i++) for(j=0;j<L;j++) c[i][j]=0; for(i=0;i<M;i++) for(j=0;j<L;j++) for(k=0;k<N;k++) c[i][j]+=a[i][k]*b[k][j]; } A. O(n*l) B. O(m*l) C. O(m*n) D. O(m*n*l)