الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهو الخطأ المنطقي في برمجه Linked List ؟

بدأه مجلـد جديـد في 19 أكتوبر 2008 · 1 رد · 625 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

احاول كتابة كود لل linked list بلغة java ( قمت بكتابة جميع انواع linked list بلغة c++ ) ولا ادري هل الطريقة التي استخدمتها صحيحه او لا وهل يمكن ان تكون افضل ؟

قمت بفصل البرنامج الى ملفين ، الاول linkedList.java ويحتوي على linked list class & Node class والملف الاخر يوجد فيه main function

الملف الاول:

class Node
{
	public Node next;
	public String data;

	Node( String str )
	{
		data = str;
		next = null;
	}
}

public class linkedList
{
	public Node first;

	linkedList()
	{
		first = null;
	}

	public void add( String str )
	{
		Node newNode = new Node( str );

		if ( first == null )
		{
			first = newNode;
		}
		else
		{
			Node current = first;

			while ( current.next != null )
				current = current.next;

			current.next = newNode;
		}
	}

	public void print()
	{
		Node current = first;

		if ( current != null )
		{
			while ( current != null )
			{
				System.out.println( current.data );
				current = current.next;
			}
		}
		else
			System.out.println( "List is empty.");
	}
}

الملف الثاني

public class linkedListTest
{
	public static void main( String args[] )
	{
		linkedList list = new linkedList();

		list.add( "Ahmed");
		list.add( "Ali");
		list.add( "xxxx");
		list.add( "gvgvg");

		list.print();
	}
}

هل هناك مكان افضل لوضع Node class ؟؟

#2

مافي مشكله لو وضعته في نفس الملف .. أو يمكن وضعه في ملف أخر باسم Node.java .. لا مشكله في الحالتين ..

أيضا يمكن وضعه داخل الكلاس LinkedList بحيث يكون inner class .. جميعها طرق مختلفه لنفس الهدف ..

ويمكن جعل المتغيرات في Node من نوع private وتوفير دوال set&get للوصول لتك المتغيرات .. بالطبع سوف تضطر لتغير الكلاس LinkedList بعض الشيء وتقوم باستدعاء تلك الدوال بدلا من أستخدام المتغيرات مباشره ..

على العموم في كلا الحالات لا توجد مشاكل ...

بالتوفيق ،،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

مواضيع مشابهة