Lua Academy · पाठ

तुलनाकर्ताओं के साथ table.sort

कस्टम तुलनाकर्ता फ़ंक्शनों और स्थिर सॉर्ट रणनीतियों से टेबल सॉर्ट करें।

पाठ 1, कुल 4 में से13 चरण

तुलनाकर्ताओं के साथ table.sort, CoddyKit पर Lua Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Lua Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Lua Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

table.sort क्या है

table.sort तुलना फ़ंक्शन का उपयोग करके किसी तालिका को उसी में क्रमबद्ध करता है। तुलना फ़ंक्शन न देने पर यह < ऑपरेटर का उपयोग करता है।

डिफ़ॉल्ट आरोही क्रमण

संख्याओं या स्ट्रिंग वाली तालिका को आरोही क्रम में क्रमबद्ध करने के लिए table.sort(t) कॉल कीजिए।

local nums = {5, 2, 8, 1, 9}
table.sort(nums)
for _, v in ipairs(nums) do print(v) end

कस्टम तुलना फ़ंक्शन

दूसरे तर्क के रूप में function(a, b) return a < b end फ़ंक्शन पास कीजिए।

local words = {"banana", "apple", "cherry"}
table.sort(words, function(a, b) return a < b end)
print(table.concat(words, ", "))

अवरोही क्रमण

अवरोही क्रम में क्रमबद्ध करने के लिए तुलना को उलट दीजिए।

local nums = {3, 1, 4, 1, 5, 9}
table.sort(nums, function(a, b) return a > b end)
print(table.concat(nums, ", "))

फ़ील्ड के आधार पर तालिकाएँ क्रमबद्ध करना

रिकॉर्ड की किसी सारणी को किसी विशिष्ट फ़ील्ड कुंजी के आधार पर क्रमबद्ध कीजिए।

local people = {
  {name="Charlie", age=30},
  {name="Alice", age=25},
  {name="Bob", age=28}
}
table.sort(people, function(a, b) return a.age < b.age end)
for _, p in ipairs(people) do print(p.name, p.age) end

बहु-कुंजी क्रमण

प्राथमिक कुंजी के आधार पर क्रमबद्ध कीजिए, फिर समान मानों के लिए द्वितीयक कुंजी का उपयोग कीजिए।

table.sort(people, function(a, b)
  if a.age ~= b.age then return a.age < b.age end
  return a.name < b.name
end)

स्थिरता संबंधी सूचना

Lua का table.sort स्थिर होने की गारंटी नहीं देता। समान तत्व किसी भी क्रम में दिखाई दे सकते हैं। नियतात्मक परिणामों के लिए सूचकांक को टाई-ब्रेकर के रूप में उपयोग कीजिए।

स्ट्रिंग को केस की परवाह किए बिना क्रमबद्ध करना

तुलना फ़ंक्शन के भीतर string.lower से मानकीकरण कीजिए।

table.sort(words, function(a, b)
  return a:lower() < b:lower()
end)

कुंजी निकालने वाले के साथ क्रमण

Schwartzian रूपांतरण दृष्टिकोण का उपयोग करके निकाली गई कुंजियों को कैश कीजिए, ताकि क्रमण के दौरान बार-बार गणना न करनी पड़े।

local function sortBy(t, keyFn)
  local keyed = {}
  for i, v in ipairs(t) do keyed[i] = {val=v, key=keyFn(v)} end
  table.sort(keyed, function(a, b) return a.key < b.key end)
  for i, item in ipairs(keyed) do t[i] = item.val end
end

बड़ी तालिकाओं को क्रमबद्ध करना

बहुत बड़ी तालिकाओं के लिए Schwartzian रूपांतरण पर विचार कीजिए: प्रत्येक तत्व को उसकी क्रमण कुंजी के साथ जोड़ी में रखिए, क्रमबद्ध कीजिए, फिर तत्व निकालिए। इससे हर तुलना पर कुंजी की दोबारा गणना नहीं करनी पड़ती।

उसी में बदलाव बनाम कॉपी

table.sort मूल तालिका में बदलाव करता है। किसी कॉपी को क्रमबद्ध करने के लिए पहले table.move का उपयोग कीजिए या दोहराकर उसकी क्लोन बनाइए, फिर क्लोन को क्रमबद्ध कीजिए।

तुलना फ़ंक्शन प्रश्न

कौन-सा तुलना फ़ंक्शन संख्याओं को आरोही क्रम में क्रमबद्ध करता है?

पुनरावृत्ति: table.sort

table.sort उसी में क्रमबद्ध करता है, वैकल्पिक तुलना फ़ंक्शन स्वीकार करता है, स्थिर नहीं है, और जटिल क्रमण आवश्यकताओं के लिए सामान्यतः फ़ील्ड-आधारित या बहु-कुंजी रणनीतियों के साथ उपयोग किया जाता है।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Lua सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
40
पाठ
159

अक्सर पूछे जाने वाले प्रश्न

क्या “तुलनाकर्ताओं के साथ table.sort” पाठ निःशुल्क है?

हाँ — Lua Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “तुलनाकर्ताओं के साथ table.sort” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Lua Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“तुलनाकर्ताओं के साथ table.sort” में मैं क्या सीखूँगा?

कस्टम तुलनाकर्ता फ़ंक्शनों और स्थिर सॉर्ट रणनीतियों से टेबल सॉर्ट करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Lua Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Lua Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Lua Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“तुलनाकर्ताओं के साथ table.sort” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Lua Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Lua Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. तुलनाकर्ताओं के साथ table.sort
  2. table.concat और table.move
  3. गहरी और उथली कॉपी
  4. टेबल रूपांतरण: map, filter, reduce
← Lua Academy पर वापस जाएँ