I want to sort array i use this code i found here and now i wonder how to add option to check if address is in this array and then replace not add as new item. Should i use another for loop before sorting or it can somehow be connected with this one to reduce gas...
function sort(address address, uint currentValue) private {
uint i = 0;
/** get the index of the current max element **/
for(i; i < Array.length; i++) {
if(Array[i].counts < currentValue) {
break;
}
}
/** shift the array of position (getting rid of the last element) **/
for(uint j = Array.length - 1; j > i; j--) {
Array[j].counts = Array[j - 1].counts;
Array[j].addr = Array[j - 1].address;
}
/** update the new max element **/
Array[i].counts = currentValue;
Array[i].address = address;
question from:
https://stackoverflow.com/questions/65944007/sort-array-from-greatest-to-smallest-but-unique-addresses 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…