Надеюсь, это сработает. Где A - отсортированный массив, и мы ищем значение K.
int UpperBound(int A[],int N,int K){
int low , high , mid ;
low = 1 ;
high = N ;
while(low <= high){
mid = ( low + high ) / 2 ; // finding middle element
if(A[mid] > K && ( mid == 1 || A[mid-1] <= K )) // checking conditions for upperbound
return mid ;
else if(A[mid] > K) // answer should be in left part
high = mid - 1 ;
else // answer should in right part if it exists
low = mid + 1 ;
}
return mid ; // this will execute when there is no element in the given array which > K
}
int LowerBound(int A[],int N,int K){
int low , high , mid ;
low = 1 ;
high = N ;
while(low <= high){
mid = ( low + high ) / 2 ; // finding middle element
if(A[mid] >= K && ( mid == 1 || A[mid-1] < K )) // checking conditions for lowerbound
return mid ;
else if(A[mid] >= K) // answer should be in left part
high = mid - 1 ;
else // answer should in right part if it exists
low = mid + 1 ;
}
return mid ; // this will execute when there is no element in the given array which >= K
}
echo "my line" > newFile.txt
type myOriginalFile.txt >> newFile.txt
type newFile.txt > myOriginalFile.txt
Непротестированный. Дважды>> означает, 'добавляют'
Следующая последовательность сделает то, что Вы хотите, добавляя строку" new first line
" к file.txt
файл.
ren file.txt temp.txt
echo.new first line>file.txt
type temp.txt >>file.txt
del temp.txt
Примечание структура эха". echo.
" позволяет Вам помещать пробелы в начале строки при необходимости, и примыкание" >
" символ перенаправления гарантирует, что нет никаких конечных пробелов (если Вы не хотите их, конечно).