online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
/****************************************************************************** Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl, C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog. Code, Compile, Run and Debug online from anywhere in world. *******************************************************************************/ #include <iostream> using namespace std; // تعريف بنية العقدة التي تتكون منها القائمة المترابطة struct node { int data; // البيانات عبارة عن أعداد node *next; // مؤشر على العقدة القادمة }; // دالة مساعدة لطباعة البيانات بشكل معاكس إنطلاقا من عقدة ما void printReverse(node *head) { // شرط التوقف if (head == NULL) return; printReverse(head->next); // إستعمال الطريقة التعاودية cout << head->data << " "; } // تعريف صنف القائمة المترابطة class LinkedList { private: node *head,*tail; public: LinkedList() // الدالة البانية { head = NULL; tail = NULL; } void addNode(int n) // دالة لإضافة عقدة جديدة للقائمة { node *tmp = new node; tmp->data = n; tmp->next = NULL; if(head == NULL) { head = tmp; tail = tmp; } else { tail->next = tmp; tail = tail->next; } } void printList() // طباعة بيانات القائمة المترابطة { node *n = this->head; while (n != NULL) { cout << n->data << " "; n = n->next; } } void printReverseList() // طباعة بيانات القائمة المترابطة بشكل عكسي { printReverse(this->head); // إستعمال الدالة المساعدة السابقة مع تمرير رأس القائمة لها } void fillList(int total) // ملأ القائمة بعدد محدد من العناصر { int data; for (int i = 0; i < total; ++i) { cout << "data " << i << " = " << endl; cin >> data; addNode(data); // إستعمال دالة الإضافة } } }; int main() { LinkedList l; // تعريف قائمة مترابطة l.fillList(6); // ملأ القائمة ب 6 عناصر يُمكنك تغيير العدد حسب ما تريد l.printList(); // طباعة عناصر القائمة بشكلها الطبيعي cout << endl; l.printReverseList(); // طباعة عناصر القائمة بالشكل العكسي return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue