اذهب إلى المحتوى

السؤال

نشر

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

- حل عن طريق عملية تراجعية

Public static int CountNodes(Node<int>  p)

{

  int count=0;

  while(p != null)
  {
    Count++;
    p=p.GetNext();
  }

  return count;

}

 

سؤال:

اكتب عملية تتلقى مؤشر على اول حلقة من سلسلة حلقات والتي حدودها من نمط صحيح, وتتلقى أيضا عدد صحيح num, على العملية ان تعيد true اذا كان num موجود في السلسلة والّا تعيد false.

وشكرا جزيلا ♥️

 

Recommended Posts

  • 0
نشر

أن الحل بسيط، أقترح عليك الحاولة فهو يشبه إلى حد كبير نفس هذه الشيفرة التي قدمتها.

سأشرح بعض الخطوات المساعدة:

تابع البحث عن قيمة يجب أن نمرر له هذه القيمة كوسيط parameter ومن ثم نقوم بالتجول على قيم السلسلة بنفس الطريقة المقدمة أي حلقة while وفيها نقارن قيمة العقدة الحالية مع القيمة الممرة و  نعيد true في حال التساوي.

إذا انتهت الحلقة ولم نجد أي عنصر مساوٍ للوسيط نعيد false.

حاول حل المشكلة إعتمادا على الشرح السابق.

Public static int CountNodes(Node<int>  p, int X)

{

  while(p != null)
  {
    if (p.value == X)
  	return true;
  
    p=p.GetNext();
  }

  return false;

}

إن بنية العقدة يمكن أن تحوي قيمة العنصر الحالي حيث أن الوصول لها يكون إما عن طريق value أو قيمة أنت قمت بتعريفها حسب بنائك لنمط البينات Node.

إن Node يجب أن تحوي قيمة محلية من النوع int و العنصر التالي Next. وفي حالتنا علينا المقارنة مع العنصر الحالي للعقدة.

ربما تختلف التسمة value لديك لكن هذه هي الطريقة المطلوبة.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...