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

الفرق بين طرق الترتيب

مغلق
بدأه A7med_prof في 28 مايو 2005 · 11 رد · 8,631 مشاهدة · في قسم الدروس والمواضيع الهامة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
BESMELAH.gif

لقد شدني هذا الموضوع من الاستفسار او السؤال الذي طرحته الاخت / المبدعه الصغيره ومن رأي انه موضوع مهم .

و حتى لا يتم التداخل بين أنواع او طرق الترتيب " تـــصاعدياً او تنازليا " .

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

  1. الترتيب بطريقة الفقاقيع Bubble Sort
  2. الترتيب بطريقة الاختيار Selection Sort
  3. الترتيب بطريقة الادخال Insertion Sort

ولمزيد من الشرح والاستفاده قم بتحميل الملف المرفق فيه شرح مفصل لكل طريقه .

ارجو ان يعجبكم .

Selection _ Bubble _ Insertion.zip

اقتباس

آسف الدخول متقطع هذه القتره

اقتباس

[يمين]

.[/يمين]

A7med_prof-4-2007.jpg

اخر مواضيعي 2007

االمثال مطبق على موقع بورصه سعودي

.

.

مواضيع مهمه ومطلوبه بكثره VB6

.

بــرامج ومشــاريع عربيه كامــله {HnHn} والمزيد في قسم برامج الاعضاء || ربط قواعد بيانات اكسس مع الفيجوال بيسك, مادة دراسية كاملة {بنت اليمن}|| المرجع الشامل لجمل SQL ا {GENIUS-IT} || كيفية التعامل مع مكتبة الـ DAO, في الوصول إلى قاعدة بيانات {رمضان} || مثال ريط Visaul Basic 6.0 مع SQL SERVER ا || العمليات التي تجرى على قاعدة البيانات, مثال كامل {بنت اليمن} || تصدير البيانات من الاكسل الي الاكسس بالفيجوال بيسك {HnHn} || البحث في قاعدة البيانات {MANSUR} || قواعد البيانات العلائقية وتقنيات الوصول إليها {عبد الله فتحي} || كيفية أظهار بيانات جدولين بواسطة التاريخ ,,,,,,,

.

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

.

</
#2

بالتأكيد سيعجبنا فيكفى انه منك :rolleyes:

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#3

الحمد لله لقد فهمت ماذا اقصد

مشكور كل الشكر على المجهود الرائع

#4

مشكور اوي اوي اوي ياباشا , انه من مقرراتي الدراسية ومكنتش فهمها ام الان !!!!!!!!!!!

#5

مشكور أخي A7med_prof على هذا المجهود الرائع :rolleyes:

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

الترتيب بطريقة الفقاقيع Bubble Sort

الترتيب بطريقة الاختيار Selection Sort

الترتيب بطريقة الادخال Insertion Sort

فأود ان اوضح الفرق لكم حتى لا يتم التداخل بينهم التداخل لو تسمحو لي .

اولاُ : الترتيب بطريقة الفقاقيع Bubble Sort

في هذه الطريقة تتم مقارنة كل قيمتين متتاليتين من بداية القائمة "المصفوفة" او "Array" وتبديلهم اذا لم يكونو في التبديل المطلوب " تصاعديا مثلا " وذلك حتى نهاية القائمة .

باستكمال هذه المرحلة تكون اكبر قيمة استقرة قد استقرت في نهاية القائمة .

ويتم استبعاد القيمة الاخيرة لانها استقرت في مكانها الصحيح .

يتم تكــــرار هذه المرحلة " 1 الى الـ N " حيث ان الـ N هي عدد القيم في القائمة حتى يتم الترتيب تصاعديا مثلا .

ثانيا : الترتيب بطريقة الاختيار Selection Sort

في هذه الطريقه يتم البحث عن القيمة الصغرى بين قيم القائمة ويتم استبدالها مع القيمة الاولى في القائمة .

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

ثالثا : الترتيب بطريقة الادخال Insertion Sort

هذه الطريق تقوم فكرتها على اساس عدد القيم في المصفوفة او القائمة فإذا كانت عدد القيم اكبر من واحد وهذا شرت اساسي الي عملية مقارنة يتم عملية المقارنه بداية من الرقم الثاني بالسابق له ويتم استبدالهم اذا لم يكن في الترتيب الصحيح وتكرر هذه العملية بعدد قيم المصفوفة حتى الوصول الى الترتيب الصحيح .

--------------------------------------------------------------------

الاكواد :

اولاُ : الترتيب بطريقة الفقاقيع Bubble Sort

Private Sub Command1_Click ()

Dim N, I, J, Temp As Integer

Dim X (1 To 8) As Integer

Dim NOSWAP As Boolean

N = InputBox ("أدخل عدد الأرقام")

For J = 1 To N

X (J) = InputBox ("ادخل الأرقام")

Next J


For I = 1 To N - 1

NOSWAP = True

For J = 1 To N - I

If X(J) > X(J + 1) Then

Temp = X(J)

X(J) = X(J + 1)

X(J + 1) = Temp

NOSWAP = False

End If

Next J


If NOSWAP = True Then

MsgBox ("تم انهاء الترتيب")

Exit For

End If

Next I



For J = 1 To N

Print, X(J);

Next J



End Sub

ثانيا : الترتيب بطريقة الاختيار Selection Sort

Private Sub Command1_Click ()

Cls

Dim x(1 To 20) As Single

Dim n, J, k, temp, I As Single

n = InputBox("إدخل عدد الارقام")

For J = 1 To n

x(J) = InputBox("إدخل القيمة")

Next J

For J = 1 To n - 1

k = J

temp = x(J)

For I = J + 1 To n

If x(I) < temp Then

k = (I)

End If

Next I

temp = x(J)

x(J) = x(k)

x(k) = temp

Next J

For I = 1 To n

Print , x(I);

Next I

End Sub

ثالثا : الترتيب بطريقة الادخال Insertion Sort

 

Private Sub Command1_Click ()

Cls

Dim j, k, n, i As Integer

Dim a(1 To 8) As Integer

n = InputBox("إدخل عدد الارقام ")

For k = 1 To n

a(k) = InputBox("إدخل القيمة ")

Next k


If n >= 2 Then

For i = 2 To n

Flag = 1

j = i

Do While (j >= 2) And (flage = 1)

If a(j) < a(j - 1) Then

temp = a(j)

a(j) = a(j - 1)

a(j - 1) = temp

j = j - 1

Else

Flag = 0

End If

Loop

Next i



For k = 1 To n

Print a(k), k, m, x, t

Next k


End If

End Sub

ويارب يـــكون الشرح وافي ومفهوم واي استفسار انا تحت امركم .

اخوكم احمد عزت "A7med_prof"

ومشكور اخي GHOST2010 على حبك الكبير للأخ أحمد

الله يديم المحبة :rolleyes:

و السلام عليكم

ألا بذكر الله تطمئن القلوب

#6

شكرا لك اخى احمد لكن انا مشفتش الملف لان انا نمت على نفسى خلاص

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#7
اقتباس
مشكور أخي A7med_prof على هذا المجهود الرائع

ليس بجديد عليك اخي المزمجر هذا من صفة المؤمنين مثلك .

اقتباس
حريف برمجة Posted Today, 04:32 AM

شكرا لك اخى احمد لكن انا مشفتش الملف لان انا نمت على نفسى خلاص

ياباشا عادي لما تصحى هي الدنيا هطير :D يكفيني مروررك

اقتباس

آسف الدخول متقطع هذه القتره

اقتباس

[يمين]

.[/يمين]

A7med_prof-4-2007.jpg

اخر مواضيعي 2007

االمثال مطبق على موقع بورصه سعودي

.

.

مواضيع مهمه ومطلوبه بكثره VB6

.

بــرامج ومشــاريع عربيه كامــله {HnHn} والمزيد في قسم برامج الاعضاء || ربط قواعد بيانات اكسس مع الفيجوال بيسك, مادة دراسية كاملة {بنت اليمن}|| المرجع الشامل لجمل SQL ا {GENIUS-IT} || كيفية التعامل مع مكتبة الـ DAO, في الوصول إلى قاعدة بيانات {رمضان} || مثال ريط Visaul Basic 6.0 مع SQL SERVER ا || العمليات التي تجرى على قاعدة البيانات, مثال كامل {بنت اليمن} || تصدير البيانات من الاكسل الي الاكسس بالفيجوال بيسك {HnHn} || البحث في قاعدة البيانات {MANSUR} || قواعد البيانات العلائقية وتقنيات الوصول إليها {عبد الله فتحي} || كيفية أظهار بيانات جدولين بواسطة التاريخ ,,,,,,,

.

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

.

</
#8

طريقة ممتازه لاختيار اسلوب الترتيب

#9

الله يخليلنا ياكم يا شباب

#10

شكرا لك أخي الكريم و جزالك الله ألف خير

طرق و فكر جميلة في الترتيب و التنقيح

ما شاء الله :)

شكرا لك أخي الكريم مرة أُخرى و إلى الأمام إن شاء الرب

مع خالص حبي و إحترامي

أخوك ZERIAB

50610597.gif

68195903.png

43618215.gif

#11

السلام عليكم

اخوتي انا جربت

ثانيا : الترتيب بطريقة الاختيار Selection Sort

Private Sub Command1_Click ()

Cls

Dim x(1 To 20) As Single

Dim n, J, k, temp, I As Single

n = InputBox("إدخل عدد الارقام")

For J = 1 To n

x(J) = InputBox("إدخل القيمة")

Next J

For J = 1 To n - 1

k = J

temp = x(J)

For I = J + 1 To n

If x(I) < temp Then

k = (I)

End If

Next I

temp = x(J)

x(J) = x(k)

x(k) = temp

Next J

For I = 1 To n

Print , x(I);

Next I

End Sub

وهذا الكود ما يرتب الارقام بشكل صحيح

ولقد قمت بتعديله

Private Sub Command1_Click()

Cls

Dim X(1 To 20) As Single

Dim N, J, k, Temp, I As Single

N = InputBox("ادخل عدد القيم")

For J = 1 To N

X(J) = InputBox("ادخل القيم")

Next J

For J = 1 To N - 1

Temp = X(J)

For I = J + 1 To N

If X(I) < Temp Then

k = (I)
Temp = X(J)
X(J) = X(k)
X(k) = Temp
Temp = X(J)

End If

Next I
Next J

For I = 1 To N
Print , X(I);
Next I

End Sub

جربوا الكودين وخبروني بالنتائج

وشكرا

#12

بارك الله فيك أخي

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

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