الانتقال إلى المحتوى الرئيسي

كيفية إضافة عنصر إلى قائمة باستخدام لغة سي

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

إضافة عنصر إلى قائمة هي العملية التي يتم من خلالها إضافة عنصر جديد إلى نهاية القائمة. للقيام بذلك ، اتبع الخطوات التالية:

  1. إنشاء عنصر جديد وملء مع البيانات.
  2. ابحث عن العنصر الأخير في القائمة.
  3. إرفاق عنصر جديد بالعنصر الأخير.

التالي مثال رمز ج يوضح إضافة عنصر إلى قائمة:

// هيكل يمثل عنصر قائمة

عقدة البنية {

بيانات كثافة العمليات; // البيانات

من عقدة البنية * العنصر التالي ؛ / / مؤشر إلى العنصر التالي

};

// وظيفة لإضافة عنصر إلى القائمة

إضافة الفراغ (عقدة البنية** رأس ، إنت نيوداتا) {

// إنشاء عنصر جديد

عقدة البنية * نيونود = (عقدة البنية*) مالوك (حجم (عقدة البنية));

عقدة البنية * آخر = * رأس;

// إرفاق البيانات بعنصر جديد

نيونود- > البيانات = نيوداتا;

نيونود- > التالي = لاغية;

// إذا كانت القائمة فارغة ، يصبح العنصر الجديد هو رأس القائمة

إذا (*رأس == فارغ) {

* رأس = نيونود;

العودة;

}

// خلاف ذلك ، نجد العنصر الأخير في القائمة ونرفق عنصرا جديدا

بينما (آخر- > التالي != لاغية) {

آخر = آخر- > التالي;

}

آخر- > التالي = نيونود;

}

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

  1. ما هي المهمة?
  2. ما هي الطرق?
  3. حل المشكلة
  4. تسجيل عنصر جديد
  5. تحديث القائمة
  6. نموذج التعليمات البرمجية
  7. سؤال وجواب
  8. كيف يمكنني إضافة عنصر إلى قائمة في ج?
  9. كيف يمكنني إزالة عنصر من قائمة في ج?
  10. كيف يمكنني إنشاء وتهيئة قائمة في ج?
  11. كيف يمكنني فرز جميع العناصر الموجودة في قائمة في ج?
  12. كيف يمكنني التحقق مما إذا كانت القائمة فارغة في ج?

ما هي المهمة?

المهمة لإضافة عنصر جديد إلى قائمة موجودة باستخدام لغة البرمجة ج. القائمة هي بنية بيانات يمكن أن تحتوي على مجموعة من العناصر من نوع معين. كل عنصر في القائمة له قيمته الخاصة ويمكن الوصول إليه بواسطة فهرس معين.

لإضافة عنصر جديد إلى القائمة ، اتبع الخطوات التالية:

  1. تحديد بنية قائمة تتضمن نوع عنصر القائمة ومتغير لتخزين قيمها.
  2. تهيئة القائمة عن طريق تعيين القيم الأولية لمتغيرات القائمة.
  3. قم بإنشاء عنصر جديد عن طريق تعيين قيمة له.
  4. أضف عنصرا جديدا إلى القائمة عن طريق تحديث متغيرات القائمة.

اعتمادا على تنفيذ القائمة ، يمكن استخدام أرقام وأنواع مختلفة من العمليات لإضافة عنصر. في بعض الحالات ، تحتاج إلى زيادة حجم القائمة أو إعادة تعريف هيكلها لتضمين عنصر جديد. في حالات أخرى ، يمكنك ببساطة إضافة عنصر جديد إلى نهاية القائمة.

بعد إضافة عنصر جديد بنجاح إلى القائمة ، يصبح هذا مرئيا عند عرض محتويات القائمة أو عند الوصول إليه بواسطة الفهرس. وبالتالي ، فإن مهمة إضافة عنصر إلى القائمة تسمح لك بتوسيع وظائف البرنامج ومعالجة المزيد من البيانات.

ما هي الطرق?

في لغة البرمجة ج ، هناك عدة طرق لإضافة عناصر إلى قائمة:

  1. باستخدام صفيف
  2. باستخدام قائمة مرتبطة
  3. استخدام تخصيص الذاكرة الديناميكية

باستخدام صفيف:

واحدة من أسهل الطرق لإضافة عناصر إلى قائمة هي استخدام صفيف. إنشاء صفيف بطول معين وإضافة عناصر إليه حسب الفهرس. ميزة هذا النهج هي بساطة التنفيذ ، ولكن له طول محدود وغير مرن عند إضافة / إزالة العناصر.

باستخدام قائمة مرتبطة:

القائمة المرتبطة هي بنية بيانات تتكون من عقد ، يحتوي كل منها على قيمة ومؤشر للعقدة التالية. تتم إضافة عنصر إلى القائمة عن طريق إنشاء عقدة جديدة وربطها بالعقدة الأخيرة.

توفر هذه الطريقة المرونة عند إضافة / إزالة العناصر ، ولكنها تتطلب المزيد من الذاكرة لتخزين المؤشرات إلى العقد.

استخدام تخصيص الذاكرة الديناميكية:

وظيفة. يتيح لك ذلك إنشاء قوائم ذات طول متغير واستخدام الذاكرة بكفاءة.

عند إضافة عنصر ، يتم تخصيص الذاكرة أولا لعنصر قائمة جديد ، ثم يرتبط العنصر الجديد بالعنصر الأخير في القائمة.

الطريقةالمزاياالعيوب
باستخدام صفيفسهولة التنفيذطول محدود
باستخدام قائمة مرتبطةالمرونة في إضافة / إزالة العناصرالمزيد من الذاكرة لتخزين المؤشرات إلى العقد
استخدام تخصيص الذاكرة الديناميكيةالقدرة على إنشاء قوائم ذات طول متغيرمطلوب تحرير الذاكرة بعد الاستخدام

يعتمد اختيار كيفية إضافة عناصر إلى القائمة على الحالة المحددة ومتطلبات البرنامج. كل طريقة من الطرق المذكورة أعلاه لها مزاياها وعيوبها ، ومن المهم اختيار الخيار المناسب في كل موقف محدد.

حل المشكلة

لإضافة عنصر إلى القائمة باستخدام لغة ج ، يمكنك استخدام بنية بيانات "الصفيف". تتلخص المهمة في الخطوات التالية:

  1. تحديد مجموعة من الحجم المطلوب. على سبيل المثال ، لإنشاء قائمة من 10 عناصر ، يمكنك إعلان صفيف يحتوي على 10 عناصر.
  2. حدد متغيرا سيخزن العدد الحالي للعناصر في القائمة.
  3. تحديد وظيفة لإضافة عنصر جديد. يجب أن تقبل هذه الوظيفة مصفوفة وعنصر جديد ومؤشر لمتغير يخزن عدد العناصر.
  4. داخل الوظيفة ، أضف عنصرا جديدا إلى نهاية القائمة ، وقم بزيادة المتغير الذي يخزن عدد العناصر.

نموذج التعليمات البرمجية:

# تشمل

إضافة باطلة (قائمة إنت [] ، إنت نيوليمنت ، إنت *العد) {

قائمة [*العد] = جديدعنصر;

(*العد)++;

}

كثافة العمليات الرئيسية () {

قائمة الباحث [10];

عدد الباحث = 0;

إضافة عنصر (قائمة ، 5 ، وعدد) ؛ / / إضافة عنصر إلى القائمة

// قائمة الإخراج

برينتف ("القائمة:");

ل (إنت أنا = 0 ؛ أنا < العد ؛ أنا i) {

برينتف ("٪د " ، قائمة [ط]);

}

العودة 0;

}

في هذا المثال ، نقوم بإنشاء مصفوفة " قائمة "بحجم 10 عناصر ومتغير" عدد " سيخزن عدد العناصر في القائمة. ثم نسمي وظيفة "أدليمنت" ، ويمررها صفيف ، عنصر جديد (في هذه الحالة ، الرقم 5) ومؤشر إلى متغير" العد". داخل الوظيفة ، نضيف عنصرا جديدا إلى نهاية القائمة ونزيد متغير "العد".

بعد إضافة عنصر ، نقوم بإخراج قائمة عن طريق التكرار على عناصرها في حلقة وطباعتها باستخدام وظيفة "برينتف". نتيجة لتنفيذ البرنامج ، سيتم عرض" القائمة: 5 " على الشاشة.

تسجيل عنصر جديد

لإضافة عنصر جديد إلى القائمة في ج ، اتبع الخطوات التالية:

  1. حدد المصفوفة التي ستمثل القائمة. على سبيل المثال:
  2. حدد متغيرا لتتبع عدد العناصر في القائمة. على سبيل المثال:
  3. لإضافة عنصر جديد إلى القائمة ، قم أولا بزيادة متغير الحجم بمقدار 1:
  4. ثم قم بتعيين العنصر الجديد القيمة التي تريد إضافتها:

يزيد الرمز أعلاه من حجم القائمة بمقدار 1 ويكتب عنصرا جديدا إلى الخلية المقابلة في المصفوفة. لاحظ أن فهرسة المصفوفة تبدأ من 0 ، لذلك نستخدم 'الحجم -1' للوصول إلى الخلية الأخيرة من القائمة.

بعد الانتهاء من جميع الخطوات ، سيتم إضافة العنصر الجديد بنجاح إلى القائمة.

تحديث القائمة

يمكن استخدام أساليب مختلفة لتحديث قائمة العناصر في اللغة ج. واحد منهم هو إضافة عنصر جديد إلى نهاية القائمة.

أولا ، تحتاج إلى إنشاء بنية بيانات تمثل القائمة. قد تبدو هذه البنية كما يلي:

اكتبعقدة بنية ديف {

بيانات كثافة العمليات;

عقدة البنية * التالي;

} عقدة;

لإضافة عنصر جديد إلى نهاية القائمة ، اتبع الخطوات التالية:

  1. إنشاء عقدة قائمة جديدة وملء مع البيانات.
  2. ابحث عن العنصر الأخير في القائمة بالإشارة إليه بمؤشر.
  3. قم بإرفاق عنصر جديد بنهاية القائمة عن طريق تعيين مؤشر العنصر الأخير على العنصر الجديد.

يوجد أدناه رمز مثال يوضح إضافة عنصر إلى نهاية القائمة:

# تشمل

# تشمل

اكتبعقدة بنية ديف {

بيانات كثافة العمليات;

عقدة البنية * التالي;

} عقدة;

إلحاق باطل (عقدة** هيد ريف ، إنت نيوداتا) {

عقدة * عقدة جديدة = (عقدة*) مالوك (حجم (عقدة));

عقدة * آخر = * هيد ريف;

جديد - > بيانات = بيانات جديدة;

نيو_نود - > التالي = لاغية;

إذا (*هيد ريف = = لاغية) {

* هيد ريف = نيونود;

العودة;

}

بينما (آخر- > التالي != لاغية)

آخر = آخر- > التالي;

آخر- > التالي = عقدة جديدة;

العودة;

}

قائمة الطباعة الفارغة (عقدة* عقدة) {

بينما (عقدة != لاغية) {

برينتف ("٪د " ، عقدة- > البيانات);

عقدة = عقدة- > التالي;

}

}

كثافة العمليات الرئيسية () {

عقدة * رئيس = لاغية;

إلحاق (&رئيس, 1);

إلحاق (&رئيس, 2);

إلحاق (&رئيس, 3);

قائمة الطباعة (الرأس);

العودة 0;

}

بعد تنفيذ التعليمات البرمجية ، وسوف يكون الإخراج:

1 2 3

وبالتالي ، تتم إضافة العناصر بنجاح إلى نهاية القائمة باستخدام لغة ج.

نموذج التعليمات البرمجية

في ما يلي مثال على رمز ج الذي يضيف عنصرا إلى القائمة:

# تشمل

# تشمل

اكتبعقدة هيكل ديف

{

بيانات كثافة العمليات;

عقدة البنية * التالي;

} عقدة;

عقدة * رئيس = لاغية;

باطلة أدتولينكدليست (قيمة إنت)

{

عقدة * نيونود = (عقدة*) مالوك (حجم (عقدة));

نيونود- > البيانات = القيمة;

نيونود- > التالي = لاغية;

إذا (رئيس = = لاغية)

{

رئيس = نيونود;

}

آخر

{

العقدة * التيار = الرأس;

بينما (الحالي- > التالي != لاغية)

{

الحالي = الحالي- > التالي;

}

الحالي- > التالي = نيونود;

}

}

كثافة العمليات الرئيسية()

{

أدتولينكدليست (5);

أدتولينكدليست (10);

أدتولينكدليست (15);

العقدة * التيار = الرأس;

برينتف ("::");

بينما (الحالي != لاغية)

{

برينتف ("٪د " ، الحالي- > البيانات);

الحالي = الحالي- > التالي;

}

العودة 0;

}

، مما يشير إلى بداية القائمة.

وإضافة عقدة جديدة إلى النهاية.

. ثم نذهب من خلال القائمة بأكملها وعرض عناصرها على الشاشة.

سؤال وجواب

كيف يمكنني إضافة عنصر إلى قائمة في ج?

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

كيف يمكنني إزالة عنصر من قائمة في ج?

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

كيف يمكنني إنشاء وتهيئة قائمة في ج?

لإنشاء وتهيئة قائمة في ج ، تحتاج إلى إنشاء بنية تصف عنصر القائمة ومؤشر إلى عنصر القائمة الأول. ثم يمكنك إضافة عناصر باستخدام مؤشرات إلى هياكل ووظائف مالوك. يجب أن تحتوي بنية عنصر القائمة على حقول ، على سبيل المثال ، لقيمة العنصر والمؤشرات إلى العناصر السابقة والتالية. يمكن تعيين قيم الحقل يدويا أو باستخدام إدخال المستخدم. يمكن العثور على مثال لتهيئة القائمة في المقالة.

كيف يمكنني فرز جميع العناصر الموجودة في قائمة في ج?

للتكرار من خلال جميع العناصر الموجودة في القائمة في ج ، تحتاج إلى استخدام بعض الوقت أو للحلقة. أولا ، تحتاج إلى إنشاء مؤشر إلى عنصر القائمة الحالي وتعيينه مساويا للمؤشر إلى العنصر الأول. بعد ذلك ، باستخدام حلقة ، يمكنك تصفح جميع عناصر القائمة حتى يصبح العنصر الحالي فارغا. داخل الحلقة ، يمكنك تنفيذ الإجراءات اللازمة مع كل عنصر ، على سبيل المثال ، لتلقي وإخراج قيمته. يمكن العثور على مثال لفرز جميع العناصر الموجودة في القائمة في المقالة.

كيف يمكنني التحقق مما إذا كانت القائمة فارغة في ج?

للتحقق مما إذا كانت القائمة فارغة في ج ، يمكنك التحقق من قيمة المؤشر إلى العنصر الأول في القائمة. إذا كان المؤشر فارغا ، فإن القائمة فارغة. إذا لم تكن القائمة فارغة ، فسيشير المؤشر إلى العنصر الأول في القائمة. يمكن العثور على مثال للتحقق مما إذا كانت القائمة فارغة في المقالة.