الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة

مغلق
بدأه alr7al في 31 مايو 2003 · 4 رد · 681 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله في الحقيقة لدي سؤال

اذا عندي

array={37,2,6,4,89,8,10,12,68,45}

باستخدام quicksort

واردت كتابة برنامج بحيث يرتب هذه الارقام من الاصغر الى الاكبر بستخدام arrays and pointer s

واتمنى ان احصل على الجواب لهذا البرنامج وشكرا

#2
#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");



}
اللهم انا نسألك علما نافعا ونعوذ بك من حماقة الجهلاء
#3

السلام عليكم

شكرا اخي على التجاوب السريع واتمنى لو تستطيع ان تشرح طريقة البرنامج

بجما سهلة لكي افهم وشكرا

#4

حاول ان تفهم الخوارزميات من المحاضرات او استعن بصديق

لا نني اكتب العربي بالماوس وهذه الطريقة تكلفني الكثير من الوقت

فارجو المعذرة

كما ارجو من الاخوة شرح هذه الطريقة في هذا المنتدى

اللهم انا نسألك علما نافعا ونعوذ بك من حماقة الجهلاء
#5

شكرا لك اخي العزيز وان شاء الله سوف احاول

يالله مع السلامة

هذا الموضوع مغلق.

مواضيع مشابهة