क्या कोई सामान्य लिस्प फ़ंक्शन है जो सूची में दो तत्वों को उनके सूचकांक दिए गए और संशोधित सूची को वापस कर देगा?एक सामान्य लिस्प सूची में तत्वों को स्वैप करना
11
A
उत्तर
16
आप का उपयोग rotatef
कर सकते हैं:
(rotatef (nth i lst) (nth j lst))
बेशक
, सूची अनुक्रमण महंगा हो सकता है (लागत ओ (सूची) की आकार), इसलिए यदि आप किसी भी नियमितता के साथ ऐसा करते हैं, आप नहीं बल्कि चाहते हैं
(rotatef (aref arr i) (aref arr j))
4
मैं nthcdr
का उपयोग कर पहला तत्व है कि आप स्वैप और उसके बाद करना चाहते हैं विपक्ष सेल के सीडीआर पाने के लिए द्वारा दो बार सूची में अनुक्रमण से बच जाएंगे elt
करने के लिए उपयोग छ: एक सरणी का उपयोग करने के और शेष तत्व उपन्यास से बाहर है। इसका मतलब है कि आपको केवल एक बार सूची के प्रमुख से शुरू होने वाली इंडेक्स करना होगा।
(let ((list-tail (nthcdr i list)))
(rotatef (car list-tail)
(elt list-tail (- j i)))
list)
कम से कम मेरे परिप्रेक्ष्य से, यह एक समारोह को औचित्य देने के लिए पर्याप्त कठिन है।
संबंधित मुद्दे
- 1. सामान्य लिस्प
- 2. सामान्य लिस्प
- 3. सामान्य लिस्प
- 4. सामान्य लिस्प
- 5. सामान्य लिस्प
- 6. एक सामान्य-लिस्प प्रोग्राम
- 7. सामान्य लिस्प
- 8. सामान्य जीयूआई तत्वों की सूची
- 9. सामान्य लिस्प
- 10. सामान्य लिस्प
- 11. ढांचे में एक सामान्य स्वैप विधि है?
- 12. सामान्य लिस्प
- 13. सामान्य लिस्प
- 14. सामान्य लिस्प
- 15. सामान्य लिस्प
- 16. सामान्य लिस्प -
- 17. सामान्य लिस्प
- 18. सूची में तत्वों को सारांशित करना
- 19. सामान्य लिस्प
- 20. सामान्य लिस्प
- 21. सामान्य लिस्प
- 22. सामान्य लिस्प
- 23. सामान्य लिस्प
- 24. सामान्य लिस्प: एक निर्देशिका बनाना
- 25. सामान्य लिस्प में एक प्रकार का वितरण
- 26. सामान्य लिस्प में एक HTML तालिका स्क्रैपिंग?
- 27. सामान्य लिस्प में एक ++ मैक्रो लिखना
- 28. सामान्य लिस्प प्रकार विनिर्देश
- 29. सामान्य लिस्प में वेब डेवलपमेंट
- 30. हेक्स को सामान्य लिस्प में दशमलव रूपांतरण
डैमन! इसलिए सिंटैक्स हाइलाइटिंग के बारे में कुछ करने की ज़रूरत है। मैंने सोचा कि यह अजगर के लिए बुरा था। – aaronasterling