this will help You could pass into sorted not a collection of elements, but the indices of the elements: code :
let a = ["hello","i","must","be","going"]
let idxs = sorted(indices(a)) { a[$0] < a[$1] }
// produces [3, 4, 0, 1, 2]
let pairs = sorted(Zip2(indices(a),a)) {
$0.1 < $1.1
}
let values = PermutationGenerator(elements: a, indices: idxs)
println(" ".join(values)) // prints "be going hello i must"
Share :

How to find the index of an element in sorted set?
By : user3050158
Date : March 29 2020, 07:55 AM
like below fixes the issue With a simple BST where the order of insertion of elements in random, you have way to determine how many elements exactly are smaller than a given element without walking the tree. If you had a balanced tree, such as a redblack tree, then you could at least put a lower and upper bound on the index due to the bounds on the height of the tree. If the order of insertion of elements to a BST is nonrandom then again, you could say something about the tree height without walking it and give some estimate of the approximate index.

C++  index of element in sorted std::vector
By : Data Track
Date : March 29 2020, 07:55 AM
This might help you You want to use the lower_bound() function. It's a little bit funky to make it generally useful, but serves the purpose you want.

FInd index of an element in sorted array, if not found, print index where it should be inserted
By : huangma
Date : March 29 2020, 07:55 AM
To fix the issue you can do Problem with your logic in else statement of last loop. Correct Code code :
#include<stdio.h>
int main(){
int n,t,i,k=0,l=0;
int arr[50];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&arr[i]);
}
scanf("%d",&t);
// Array size should be less than 50
if(n>50n<=0){
printf("Array size exceeded");
return 0;
}
//Check array is sorted and has no duplicates
for(i=0;i<n1;i++){
if(arr[i] == arr[i+1])
k++;
if(arr[i] > arr[i+1])
l++;
}
if(k!=0){
printf("No duplicates allowed");
return 0;
}
if(l!=0){
printf("Array must be sorted");
return 0;
}
//Find element index or print where it should be inserted
for(i=0;i<n;i++){
if(arr[i] == t){
printf("%d",i);
return 0;
}
if(arr[i] > t){
printf("%d",i);
return 0;
}
else{
printf("%d",i+1);
return 0;
}
}
}

Finding Index of element in sorted array
By : user2489339
Date : March 29 2020, 07:55 AM
should help you out Below is a code that let the user insert a number to search. The code return the index of the number if it can be found in the sorted list. code :
NUMBERS = [4, 6, 2, 12, 56, 34, 90]
sorted_numbers = sorted(NUMBERS)
number_to_search = input("Search for Element:")
try:
idx = sorted_numbers.index(number_to_search)
print('The index of {} is {}.'.format(number_to_search, idx))
except ValueError:
print('Cant find the number {}.'.format(number_to_search))

How can I get index of sorted list where element changes?
By : Sneha
Date : March 29 2020, 07:55 AM
wish of those help You could iterate the array and check the predecessor. If equal, increment the last count, otherwise add the index and a count of one. code :
var array = [1, 1, 1, 3, 3, 5, 5, 5, 5, 5, 6, 6],
{ indices, counts } = array.reduce((r, v, i, a) => {
if (a[i  1] === v) {
r.counts[r.counts.length  1]++;
} else {
r.indices.push(i);
r.counts.push(1);
}
return r;
}, { indices: [], counts: [] });
console.log(...indices);
console.log(...counts);

