डीएलआईस्ट और एसएलआईस्ट को इन-प्लेस कैसे सॉर्ट करें?

पायथन में हम जावा में list.sort() कर सकते हैं - Collections.sort(linkedList, new Comparator ...)

मैं यह नहीं समझ सकता कि डी में ऐसा कैसे करें।

2
Алексей М. 28 फरवरी 2019, 17:59

1 उत्तर

सबसे बढ़िया उत्तर

लिंक की गई सूची को क्रमबद्ध करना अक्षम है, इसलिए sort को एक यादृच्छिक क्रम की आवश्यकता है इनपुट के रूप में एक्सेस रेंज। आप शायद प्रत्यक्ष मेमोरी एक्सेस के साथ सरणियों का उपयोग करना चाहते हैं:

import std.algorithm, std.container, std.stdio;
void main()
{
    auto list = DList!int(2, 1, 3);
    list[].array.sort.release.writeln; // or directly start with an array
}

run.dlang.io पर खोलें

या sth का उपयोग करें। आंतरिक रूप से ढेर या आरबीट्री की तरह क्रमबद्ध:

import std.algorithm, std.container, std.stdio;
void main()
{
    auto list = DList!int(2, 1, 3);
    list[].redBlackTree[].writeln;
}

run.dlang.io पर खोलें

3
greenify 1 मार्च 2019, 09:31