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

كيفية إخراج مجموعة فرزها في ج

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

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

}

  1. العودة 0;
  2. }
  3. في هذا المثال ، نعلن وتهيئة مجموعة صحيح آر مع خمسة عناصر. ثم نحدد متغير الحجم لتخزين حجم المصفوفة ، ونجده باستخدام حجم العملية ونقسمه على حجم عنصر واحد باستخدام حجم العملية. بعد ذلك ، نقوم بإنشاء حلقة تتكرر بالتتابع من خلال كل عنصر من عناصر المصفوفة وتعرضها على الشاشة باستخدام وظيفة برينتف ، وفصل العناصر بمسافات. نتيجة لذلك ، نحصل على إخراج المصفوفة المصنفة: 4 7 2 9 1.
  4. كيفية فرز صفيف في ج
  5. أساسيات فرز المصفوفات في ج

خوارزميات الفرز الشعبية في ج

مثال على رمز فرز الصفيف في ج

سؤال وجواب

  1. كيف يمكنني إخراج مجموعة فرزها في ج?
  2. كيف يمكنني فرز مجموعة في ج?
  3. كيف أقوم بفرز مصفوفة بترتيب تنازلي في ج?

كيف أقوم بفرز مجموعة من الشخصيات في ج?

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

هل من الممكن لفرز مجموعة في ج دون استخدام ذاكرة إضافية?

كيفية فرز صفيف في ج

يعد فرز المصفوفة أحد أكثر العمليات شيوعا في البرمجة. في اللغة ج ، هناك العديد من الخوارزميات التي تسمح لك بفرز مصفوفة.

يعد فرز الفقاعات أحد أبسط خوارزميات الفرز وأكثرها استخداما. تعمل هذه الخوارزمية على النحو التالي:

نذهب من خلال جميع عناصر المصفوفة ، بدءا من أول واحد.

قارن العنصر الحالي مع العنصر التالي. إذا كان العنصر الحالي أكبر من العنصر التالي ، فإننا نقوم بتبديله.

نواصل الذهاب من خلال المصفوفة حتى يتم فرز جميع العناصر.

يتم تنفيذ فرز الفقاعات باستخدام دورتين: خارجية وداخلية. تحدد الحلقة الخارجية عدد التمريرات عبر المصفوفة ، وتحدد الحلقة الداخلية أزواج العناصر التي يجب مقارنتها وتبادلها. نموذج التعليمات البرمجية لفرز الفقاعة:

#include

void bubbleSort(int arr[], int n) {

for (int i = 0; i < n-1; i++) {

for (int j = 0; j < n-i-1; j++) {

if (arr[j] > arr[j+1]) {

// меняем местами элементы

int temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

}

}

int main() {

int arr[] = {64, 34, 25, 12, 22, 11, 90};

int n = sizeof(arr)/sizeof(arr[0]);

bubbleSort(arr, n);

  • printf("Отсортированный массив: ");
  • for (int i=0; i < n; i++)
  • printf("%d ", arr[i]);
  • return 0;
  • }

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

أساسيات فرز المصفوفات في ج

صفائف الفرز هي واحدة من المهام الهامة في البرمجة. يسمح لك بترتيب عناصر المصفوفة وفقا لمعيار معين ، مما يسهل البحث عن البيانات ومعالجتها.

في لغة البرمجة ج ، هناك العديد من الخوارزميات الأساسية لفرز المصفوفات ، لكل منها مزاياها وعيوبها. دعونا ننظر إلى بعض منهم:

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

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

فرز الإدراج هو خوارزمية فرز يتم فيها إدراج العناصر في مكانها في الجزء الذي تم فرزه بالفعل من المصفوفة. هذه الخوارزمية فعالة للمصفوفات الصغيرة أو للمصفوفات التي تم فرزها جزئيا بالفعل.

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

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

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

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

باطلة بابليسورت (إنت آر [] ، إنت ن) {

إلى عن على (كثافة العمليات أنا = 0 ؛ أنا < ن-1 ؛ أنا {) {

إلى عن على (الباحث ي = 0 ؛ ي < ن-ط-1 ؛ ي++) {

إذا (أر [ي] > أر [ي + 1]) {

إنت تيمب = أر [ي];

أر[ي] = أر [ي+1];

  1. أر [ي + 1] = درجة الحرارة;
  2. }

  3. }
  4. }

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

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

  9. الفرز هو أحد العمليات الأساسية في البرمجة التي تسمح لك بترتيب عناصر المصفوفة بترتيب تصاعدي أو تنازلي. هناك العديد من خوارزميات الفرز الشائعة في لغة البرمجة سي ، لكل منها خصائصه وتطبيقاته الخاصة.
  10. نوع الفقاعة

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

اختيار نوع

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

نوع الإدراج

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

دمج الفرز

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

فرز سريع

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

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

مثال على رمز فرز الصفيف في ج

يمكن استخدام خوارزميات مختلفة لفرز مصفوفة في ج ، على سبيل المثال ، خوارزمية فرز الفقاعات أو خوارزمية فرز الإدراج. Рассмотрим пример кода, реализующий сортировку пузырьком.

Пример кода:

#include

void bubbleSort(int arr[], int n) {

int i, j;

for (i = 0; i < n-1; i++) {

for(j = 0; j < n-i-1; j++) {

if(arr[j] > arr[j+1]) {

int temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

}

}

int main() {

int arr[] = {5, 2, 8, 4, 1, 9};

int n = sizeof(arr) / sizeof(arr[0]);

bubbleSort(arr, n);

printf("Отсортированный массив: ");

for(int i = 0; i < n; i++) {

printf("%d ", arr[i]);

}

return 0;

}

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

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

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

مجموعة مرتبة: 1 2 4 5 8 9

وهكذا ، يوضح هذا المثال التنفيذ الأساسي لفرز الفقاعات في لغة سي.

سؤال وجواب

كيف يمكنني إخراج مجموعة فرزها في ج?

لإخراج صفيف تم فرزه في ج ، يمكنك استخدام حلقة تتكرر من خلال عناصر المصفوفة وإخراجها واحدة تلو الأخرى باستخدام وظيفة برينتف ().

كيفية فرز مجموعة في ج?