Lenguaje de programación intermedio
Intbitsearch (int a [], int x, int left, int right) {/* biseca la posición de la primera aparición de x en el área de izquierda a derecha de la matriz A y regresa -1* /
int mid, I;
while(left lt;=right){
mid = (izquierda y derecha)/2;
if(a[mid]= = x)break;
if(a[mid] gt; x)right=中1;
if(a [mid] lt; x)left = mid 1;
}
if(left gt;right)return-1;
for(I = mid ;i gt=left amp ampa[I] = = x;i-);//Encuentra la posición de la primera x.
Devolver I 1;
}
void Romove(int a[], int *longitud, int index) {
int I;
if(index lt; 0 | | index gt= *length) regresa; //La posición eliminada excede el límite.
for(i = índice; i lt* longitud-1; i )a[I]= a[I 1];
*longitud-;
}
void delSq(int a[], int x, int *longitud) {
int index = BitSearch(a, x, 0, * longitud-1);
Eliminar (a, longitud, índice
}
;