كود جافا للتطبيق على قاعدة stack بإستخدام linked list

 

كود جافا للتطبيق على قاعدة  stack بإستخدام linked list


كود للتطبيق على stack بإستخدام linked list بلغة java


من خلال هذة المقالة الفريدة من نوعها في اكواد الجافا اقدم لكم تطبيق على stack باستخدام linked list ( لينكد ليست ) بلغة java حيث ان هذا التطبيق مهم جدا في هيكلة البيانات ( داتا ستراكشر ) او تركيب البيانات ويتم تدريسه في مادة هياكل بيانات  ويجب على المبرمجين الجيدين ان يكونوا متقنين لهيكلة البيانات فهي مهمة جدا في البرمجة وتطوير التطبيقات وايضا يعرفون فكرة الاستاك وقد سبق وان قمت لكم هذا الكود ولكن بلغة السي بلس بلس ولكن قبل ان اضع لكم الكود اوريد ان اعرفكم على stack  .


stack :


الاستاك : هي عبارة عن خط انتظار لمجموعة من البيانات المختلفة ، ما يميز هذا الخط بأنه مفتوح من اتجاه واحد فقط أي أن البيانات تدخل وتخرج من بوابة واحدة الم تضح الصوره بعد ؟ باختصار ان لدينا عن مجموعه من الكتب فوق بعضها البعض اذا اردت ان تخرج اول كتاب وضعته فيجب عليك ان تخرج او تبعد باقي الكتب عنه وهذه هي فكرة الاستاك باختصار هو اول شيئ يدخل اخر شيئ يخرج او ما يسمى LIFO - last in first out .


Linked List :


هي نوع من انواع هياكل البيانات والتي تتكون من مجموعة من الخلايا المترابطة بينها وكل عنصر فيها يسمى node و كل node يحتوي على حلقتين الاولى تستخدم لتسجيل القيم والاخرى هي مؤشر يشير الى العنوان ولا يشترط ان يكون node مرتبط بشكل متتالي مثل الكيو او الطابور والاستاك فهي تكون مبعثره  والسبب ان الذي يقوم بعملية الحجر هو جهاز الكمبيوتر وليس المستخدم العادي ولكن هذه node متصله فيما بينها عن طريق المؤشر .


كيفية تعلم لغة برمجة الجافا ببساطة ؟


اللغة سهلة وغير معقدة كما يشاع ولكن ايضا ليست صعبة فهي متوسطة المميز ان البرنامج الذي يتم لبرمجة امر معين والذي يكتب بالجافا يمكن ان يعمل على مختلف انظمة التشغيل سواء كان نظام التشغيل ويندوز او ماك  و غيرة وايضا يمكن خلالها تطوير تطبيقات الاندرويد وهذا ما يميز البرنامج المكتوب باستخدام جافا وايضا نحن نقدم مشاريع جاهزة للتعديل في موقعنا ، لكتابة اول كود برمجي لك وتعلم اللغة يمكنك التوجة الى مقالة هنا ( java tutorial ) الموجودة في موقعنا حيث تم شرح فيها كتابة اول كود برمجي و ماهي البيانات التي يمكن ان تدخلها في اللغة و أساسيات اللغة ونساعدك على كتابة اول برنامج لك بلغه الجافا وبعد ذلك يمكنك اخذ كورسات او قراءة كتاب متخصص او كتب في اللغة سواء pdf اوغيرة وهذا ما ننصح لة والجافا تعد افضل من السي بلس ، بالنسبة الى التطبيقات التي تريد تطويرها بالاندرويد انصحك بتعلم الجافا ثم بعدها تعلم الكوتلن لان اللغة الرسمة حاليا هي الكوتلن أي جافا ثم كوتلن . لان بيئة العمل مختلفة والجافا اكبر الكوتلن ماهي الى تطوير للغة وهي ابسط من الجافا بكثير جدا ، وسوف نقدم شرح مكتوب للكوتلن قريبا في موقعنا 


افضل البرنامج و المحررات للكتابة بالجافا ؟


يوجد مقالة سابقة عن تحميل افضل البرنامج التي تساعدك في كتابة اكواد بلغة الجافا بسهولة ومن تلك البرامج وافضلها للمبتدئين netbeans يمكنك بناء و عمل برامج كبيرة عن طريق عن البرنامج البسيط ، ارجع الى المصدر وهو ( java compiler ) لتجد مجموعة منوعة من البرامج اللازمة  مع ذكر عيوب و مميزات كل برنامج ملاحظة هذة البرامج تعمل على جهاز الكمبيوتر  ، أو يتم استخدام مواقع اونلاين لكتابة ألاكواد عن طريق هذة المقالة ( java online compiler ) وستجد افضل محرر بداخل هذة المقالة ، ويوجد تطبيق او مجموعة تطبيقات للهاتف المحمول للاندرويد والايفون للكتابة بالجافا و يمكنك صناعه و تنفيذ من خلالها program يعمل على جهازك 


اين يكتب الكود بداخل المحرر ؟


الاكواد المكتوبة بلغة الجافا او اي لغة نقوم بكتابتها داخل class ويمكنك ربط مجموعة methods داخل الكلاس و تعمل مع بعضها البعض عند استدعائها ملاحظة : عند استدعاء اي شيئ في الجافا يجب ان تستخدم او تقوم بي إنشاء مكتبة مخصصة ( معينة ) لهذا الشيئ مثل Scanner نستدعي المكتبة المخصصة لة لعدم حدوث مشاكل والمكتبة عبارة عن مجموعة من النصوص وهذة من قواعد الجافا ، اذا كان المحرر الذي تعمل علية بسيط لا يوجد بة مكتبات سوف تجدة لا يقبل اي عملية داخلة ويجب عليك ان تقوم بعمل تنزيل الواجهات المخصصة لكل مكتبة في المحرر ليعمل وهذة المكتبات يمكنك تحميلها مجانا وانصحك بقراءة الجزء الاعلى والذي اقدم لكم فية افضل برامج لكتابة الاكواد ، اذا حدث معك مشكلة او ظهر Error في مشروع الجافا الذي تعمل علية يمكنك ترجمة الكلام ومحاولة حله ليعمل البرنامج في بيئة متكاملة بدون اخطاء 


المتطلبات التي يحتاج ان تكتب في كل كود جافا


يجب ان يحتوي كل كود مكتوب ببرمجة جافا الى مجموعة أدوات معرفة داخل البرنامج لكي يعمل معك بدون اي مشاكل ، ليس الا ان تقم بكتابة الاوامر التالية :

قبل جملة

package ###;

### : هو اسم الباكج الذي قمت بانشاه

ضغط هذا الكود

import java.util.Scanner;

فقط كل ما عليك هو تغيير

GC الى اسم الباكج الذي قمت بانشاه


java code


import static java.lang.System.exit; 
class StackUsingLinkedlist { 
 private class Node { 
 int data; 
 Node link; 
 } 
 Node top; 
 StackUsingLinkedlist() 
 { 
  this.top = null; 
 } 
public void push(int x) 
 { 
  Node temp = new Node(); 
  if (temp == null) { 
   System.out.print("\nHeap Overflow"); 
   return; 
  } 
  temp.data = x; 
  temp.link = top; 
  top = temp; 
 } 
 public boolean isEmpty() 
 { 
  return top == null; 
 } 
 public int peek() 
 { 
  if (!isEmpty()) { 
   return top.data; 
  } 
  else { 
   System.out.println("Stack is empty"); 
   return -1; 
  } 
 } 
public void pop() 
 { 
  if (top == null) { 
   System.out.print("\nStack Underflow"); 
   return; 
  } 
  top = (top).link; 
 } 

 public void display() 
 { 
  if (top == null) { 
   System.out.printf("\nStack Underflow"); 
   exit(1); 
  } 
  else { 
   Node temp = top; 
   while (temp != null) { 
    System.out.printf("%d->", temp.data); 
    temp = temp.link; 
   } 
  } 
 } 
} 
public class GFG { 
 public static void main(String[] args) 
 { 
  StackUsingLinkedlist obj = new StackUsingLinkedlist(); 
  obj.push(11); 
  obj.push(22); 
  obj.push(33); 
  obj.push(44); 
  obj.display(); 
  System.out.printf("\nTop element is %d\n", obj.peek()); 
  obj.pop(); 
  obj.pop(); 
  obj.display(); 
  System.out.printf("\nTop element is %d\n", obj.peek()); 
 } 
} 


تنويه  : اذا اردت تعلم هيلكة البيانات بشكل اسهل فانصحك اولا بفهم الكود بلفة c++ وقد سبق وان وضعت الكود التالي بلغة السي بلس في قسم c++ في المدونه يمكنك البحث عنه لان هيكلة البيانات سهل عليك فهمها بلغة السي بلس اسهل من الجافا ولكن يجب ان تكون متعلم للغة c++ لكي تفهم الكود وبعد ذلك يمكنك فهم الكود بلغة الجافا هذا في حال ان لم تفهم الكود بلغة الجافا وهذا الكود منقول


: شاهد الشرح :




احمد محمود هو طالب جامعي يدرس في احدى الجامعات المصرية , تم تاسيس موقع جي كودرس في منتصف عام 2020 حيث يسعى الموقع الى مساعدة الطلاب في تعلم البرمجة وتوفير الاكواد الجاهزة للاستخدام لمساعدة الطلاب ً