下列算法是利用折半查找算法在一个有序表中插入一个元素x,并保持表的有序性。请将程序中空白处填上适当的语句完成功能。
Int bininsert (sqlist r, int x, int n) //将x插入到r([..n]中并保持其有序性 { int low=1, high=n, mid, flag=l, pos,i; //插入的位置为pos while( (1) &&flag) { mid= (low + high )/2; if(x <r[mid].key) (2) else if(x> r[mid].key (3) ) else flag=0;} if(!flag) pos=mid; else pos=low; for (i=n; i>=pos;i--) (4) r[pos].key=x; }