Library for the Basic Data Structures, such as Queue, in C -
समस्या: कतार के लिए सही डेटा संरचना ढूंढने के लिए:
#include & lt; stdio.h & gt; # शामिल करें & lt; stdlib.h & gt; # शामिल करें & lt; stdarg.h & gt; # शामिल करें & lt; time.h & gt; Int main (int argc, const char * argv []) {क्यू q; च = 'ए'; के लिए (int k = 0; int k & lt; 4; int k ++) {q.addq (ch); ch ++; q.addQ (ch); ch = q.front (); q.removeQ (); } वापसी 0; }
मैंने इसे संकलित करने की कोशिश की है, लेकिन कतार को अघोषित नहीं किया गया है:
$ gcc -o qu_1 -g q_queue.c q_queue.c: फ़ंक्शन में 'मुख्य': q_queue.c: 8: त्रुटि: 'क्यू' अघोषित (इस फ़ंक्शन में पहले उपयोग)
प्रश्न: मूल के लिए लाइब्रेरी क्या है उदाहरण में कतार के रूप में डेटा संरचनाएं?
यह TAILQ_ * के लिए एक अच्छा उम्मीदवार जैसा दिखता है?
#include & lt; sys / queue.h & gt;
"मैन कतार" अधिक विवरण देगा - वहाँ सरल सूचियां, पूंछ कतार और परिपत्र कतारें हैं। उन मैक्रोज़ हैं जो आपको अपने स्वयं के ढांचे पर बोल्ट की ज़रूरत होती है, न कि पाठ्यक्रम की कक्षाएं।
आपके परिदृश्य के लिए कोड कुछ ऐसा दिखेगा (मुझे ऐड-टू_ुक्यू वापस करना चाहिए, कुछ कोड को जांचने के लिए त्रुटि के लिए, और वैश्विक वार्स से भी बचें, लेकिन उम्मीद है कि मुझे इस उदाहरण में माफ किया जाएगा):
#include & lt; stdio.h & gt; # शामिल करें & lt; stdlib.h & gt; # शामिल करें & lt; sys / queue.h & gt; TAILQ_HEAD (पूंछ वाला, प्रवेश) सिर; संरचना प्रविष्टि {चार सी; TAILQ_ENTRY (प्रविष्टि) प्रविष्टियां; }; शून्य add_to_queue (चार च) {struct प्रविष्टि * elem; Elem = malloc (आकार (संरचना प्रविष्टि)); अगर (एएमएम) {elem- & gt; सी = सीएच; } TAILQ_INSERT_HEAD (और सिर, एएमएम, प्रविष्टियां); } Int main (int argc, char * argv []) {char ch = 'ए'; Int i; संरचना एंट्री * एएमएम; TAILQ_INIT (& amp; सिर); के लिए (i = 0; i & lt; 4; i ++) {add_to_queue (ch); ch ++; add_to_queue (ch); Elem = head.tqh_first; TAILQ_REMOVE (और सिर, head.tqh_first, प्रविष्टियां); नि: शुल्क (ELEM); } बाहर निकलें (0); }
Comments
Post a Comment