Wednesday, 15 April 2015

closures - Selection Sort using Groovy -


Groovy का उपयोग करके एक चयन सॉर्ट करने के लिए मेरा कोड है:

  class SelectionSorting {शून्य वर्गीकरण () {Def sortmethod = {सूची डेटा = [1, 5, 2, 3, 7, 4, 6, 8, 9,] def n = data.size () println "सॉर्ट करने से पहले:" + डेटा के लिए में 0 .. एन) {def स्थिति = i (डीईआर j में i + 1..n) {यदि (डेटा [स्थिति]> डेटा [i]) स्थिति = i} अगर (स्थिति! = I) {स्वैप (डेटा [आई], डेटा [स्थिति])}} println "सॉर्ट के बाद:" + डेटा} सॉर्टमॅप्थ ()}} चयनसॉर्टिंग s = नया चयनसंचार () s.sorting ()  

हालांकि, मुझे लगता है कि आउटपुट अब भी एक रिक्त सरणी है:

  सॉर्ट करने से पहले: [1, 5, 2, 3, 7, 4, 6, 8, 9] प्रकार के बाद: [1, 5, 2, 3, 7, 4, 6, 8, 9]  

मैं बहुत हूँ ग्रोवी के लिए नया मुझे केवल समापन के भीतर ही तर्क सम्मिलित करना चाहिए मुझे यकीन नहीं है कि मैं अपने कोड में ऊपर से बना हुआ क्लोजर में क्या बदलना चाहता हूं। कृपया मदद करें।

न्यूनतम मूल्य की स्थिति की गणना करते समय आप गलत अनुक्रमणिका का उपयोग कर रहे हैं; आपको j के बजाय i (इसे जोड़कर जोड़ने के लिए println ) का उपयोग करना चाहिए:

  def selectionSort = {डेटा - & gt; (एनआई = 1; आई & lt; n - 1; i + +) के लिए int n = data.size () {// कम से कम मूल्य स्थिति = i के लिए इंडेक्स (स्थिति) प्राप्त करें (int j = i + 1; j) (स्थिति! = I) {temp = data [position] डेटा [स्थिति] = डेटा [डेटा (स्थिति [=]] I] डेटा [i] = अस्थायी} println डेटा} println "परिणाम: $ डेटा"}  

ऐसा है कि selectionSort ([1,5,2,4,3,8 , 7, 9]) पैदावार: [1, 2, 5, 4, 3, 3, 8, 7, 9] [1, 5, 2, 4, 3, 8, 7, 9] 8, 7, 9] [1, 2, 3, 4, 5, 8, 7, 9] [1, 2, 3, 4, 5, 8, 7, 9] [1, 2, 3, 4, 5] [1, 2, 3, 4, 5, 7, 8, 9] [1, 2, 3, 4, 5, 7, 8, 9] परिणाम: [1, 2, 3, 8, 7, 9] 4, 5, 7, 8, 9]


No comments:

Post a Comment