السلام عليكم ورحمة الله في الحقيقة لدي سؤال
اذا عندي
array={37,2,6,4,89,8,10,12,68,45}
باستخدام quicksort
واردت كتابة برنامج بحيث يرتب هذه الارقام من الاصغر الى الاكبر بستخدام arrays and pointer s
واتمنى ان احصل على الجواب لهذا البرنامج وشكرا
السلام عليكم ورحمة الله في الحقيقة لدي سؤال
اذا عندي
array={37,2,6,4,89,8,10,12,68,45}
باستخدام quicksort
واردت كتابة برنامج بحيث يرتب هذه الارقام من الاصغر الى الاكبر بستخدام arrays and pointer s
واتمنى ان احصل على الجواب لهذا البرنامج وشكرا
#include
void quicksort(int *Array,int l,int r) //l:link ,r:right
{
int v,t;
int i,j;
if( r > l)
{
v =Array[r];i=l-1;j=r;
for( ; ; )//loop without end
{
while(Array[++i] < v);//the last small nummer for v
while(Array[--j] > v);//the first big numer for v
if(i >=j)break;//out from loop (for)
t=Array;Array=Array[j];Array[j]=t;//change tow elements
}
t=Array;Array=Array[r];Array[r]=t;
quicksort(Array,l,i-1);//recursion for link side
quicksort(Array,i+1,r);//recursion for right side
}
}
int main()
{
int array[] ={37,2,6,4,89,8,10,12,68,45};
int l=0;
int r=10;
quicksort(array,l,r);
for(int i=0;i<10;i++)
printf("%d ",array);
printf("n");
}السلام عليكم
شكرا اخي على التجاوب السريع واتمنى لو تستطيع ان تشرح طريقة البرنامج
بجما سهلة لكي افهم وشكرا
حاول ان تفهم الخوارزميات من المحاضرات او استعن بصديق
لا نني اكتب العربي بالماوس وهذه الطريقة تكلفني الكثير من الوقت
فارجو المعذرة
كما ارجو من الاخوة شرح هذه الطريقة في هذا المنتدى
شكرا لك اخي العزيز وان شاء الله سوف احاول
يالله مع السلامة
هذا الموضوع مغلق.