Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
986 views
in Technique[技术] by (71.8m points)

ethereum - Sort array from greatest to smallest but unique addresses

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...