لديك مصفوفة طويلة كل عنصر فيها هو عبارة عن رقم بين 0 و 9 .. والمصفوفة غير مرتبة وعدد العناصر التي فيها معلوم وليكن n ..
ماهي أفضل طريقة لترتيب هذه المصفوفة ..
مبدئياً الفكرة:
1- بالمرور لمرة واحدة على جميع العناصر يمكن تخزين إحصائية عن تكرار كل رقم في مصفوفة صغيرة.
2- إعادة تعبئة العناصر من 0 إلى 9 اعتماداً على تكرارا كل منها.
الكود بسيط على ما أعتقد. :P
:D
اولا حجز المصفوفة الاولى وبها الارقام من 0 (الى كما تريد) n ثم حجز متغير اخر للتبديل ثم اجراء عملية التبديل
int a[n];
int swap;
main()
{
for(i=0;i
for(j=i+1;j
if a>a[j];
swap=a;
a=a[j];
a[j]=swap
}
printf("%d",a);
}
هذا الموضوع مغلق.