مثال کے ساتھ C میں اندراج کی ترتیب کو کیسے نافذ کریں۔

Mthal K Sat C My Andraj Ky Trtyb Kw Kys Nafdh Kry



چھانٹنے والا الگورتھم جسے 'انسرشن سورٹ' کہا جاتا ہے چھوٹے ڈیٹا سیٹس کے لیے سیدھا اور موثر ہے۔ یہ ایک موازنہ پر مبنی طریقہ ہے جو عناصر کو ترتیب دیتا ہے ایک صف کے ذریعے لوپ کر کے، ہر ایک عنصر کو اس سے پہلے آنے والے عناصر کے خلاف جانچ کر، اور اگر ضروری ہو تو ان کا تبادلہ کرتا ہے۔ اس پوسٹ میں، ہم سی زبان میں اندراج کی ترتیب کو لاگو کرنے کے طریقے کی ایک مثال دیکھیں گے۔

سی میں اندراج کی ترتیب کیا ہے؟

چھانٹنے کا طریقہ جس کو insertion sort کہا جاتا ہے ہر ایک عنصر سے ملحقہ عناصر سے میل کھاتا ہے کیونکہ یہ ایک صف میں اعادہ ہوتا ہے۔ مناسب جگہ پر ترتیب شدہ ذیلی رے میں داخل کرنے سے پہلے ایک سے چھوٹا عنصر۔

مزید وضاحت کے لیے، میں نے ایک مثال پیش کی ہے جس میں میں نے ایک صف میں چار عناصر کی ایک صف پر غور کیا ہے جیسے arr[]= {5, 4, 60, 9} اور ہم اس عنصر کو صعودی ترتیب میں داخل کرنے کی ترتیب کے ساتھ ترتیب دینا چاہتے ہیں۔ درج ذیل تعاملات اندراج کی ترتیب کے مکمل خشک ہونے کی وضاحت کرتے ہیں:







تکرار 1

5 4 60 9

اب ہمارے پاس arr[5, 4, 60, 9] کے طور پر ایک صف موجود ہے، داخل کرنے کی ترتیب کے پہلے تکرار میں ہم پہلے دو عناصر جیسے 5 اور 4 کا موازنہ کرتے ہیں، جیسا کہ arr[5] ہے > arr[4] لہذا ہم ان کو صعودی ترتیب میں ترتیب دینے کے لیے تبدیل کرتے ہیں۔ اب، صف یہ ہوگی:



4 5 60 9

تکرار 2

4 5 60 9

دوسری تکرار میں، ہم اگلے دو عناصر کا موازنہ کرتے ہیں، جیسے arr[5] arr[60] کے ساتھ۔



جیسا کہ arr[5]





4 5 60 9

تکرار 3

4 5 60 9

جیسا کہ تیسری تکرار میں، ہم تیسرے اور چوتھے عناصر جیسے arr[60] کو arr[9] سے ملاتے ہیں۔

اب، ہم دیکھتے ہیں کہ arr[60] > arr[9] اس لیے تبادلہ ہوتا ہے، پھر ارے صعودی ترتیب میں ترتیب دیا جائے گا۔



4 5 9 60

اس طرح سی میں انسرشن سورٹ کام کرتا ہے جو ایک سرنی عنصر کو آسانی سے چڑھتے یا نزولی ترتیب میں ترتیب دیتا ہے۔

اندراج کی ترتیب کا فلو چارٹ

اندراج کی ترتیب کے الگورتھم کا فلو چارٹ درج ذیل ہے:

C میں داخل کرنے کی ترتیب کی مثال کو نافذ کرنا

ہمیں سب سے پہلے عناصر کا ایک مجموعہ درکار ہے جس کو C میں اندراج کی ترتیب کا طریقہ بنانے کے لیے نزولی اور صعودی ترتیب میں ترتیب دینے کی ضرورت ہے۔ اس مثال کے مقاصد کے لیے فرض کریں کہ ہم اعداد کی ایک صف کے ساتھ کام کر رہے ہیں۔ {5، 4، 60، 9} :

# شامل کریں

باطل insertionsort_ascending ( int arr1 [ ] ، int n ) {

int میں ، جے ، میری_کلید ;

// for لوپ کا استعمال i قدروں کو 1 سے i

کے لیے ( میں = 1 ; میں < n ; میں ++ ) {

میری_کلید = arr1 [ میں ] ;

جے = میں - 1 ;

جبکہ ( جے >= 0 && arr1 [ جے ] > میری_کلید ) {

arr1 [ جے + 1 ] = arr1 [ جے ] ;

جے = جے - 1 ;

}

arr1 [ جے + 1 ] = میری_کلید ;

}

}

باطل insertionsort_decending ( int arr2 [ ] ، int m ) {

int میں ، جے ، میری_کلید ;

// لوپ کے لیے ایک اور i قدروں کو 1 سے i

کے لیے ( میں = 1 ; میں < m ; میں ++ ) {

میری_کلید = arr2 [ میں ] ;

جے = میں - 1 ;

جبکہ ( جے >= 0 && arr2 [ جے ] < میری_کلید ) {

arr2 [ جے + 1 ] = arr2 [ جے ] ;

جے = جے - 1 ;

}

arr2 [ جے + 1 ] = میری_کلید ;

}

}

int مرکزی ( ) {

// داخل کرنا- نزولی ترتیب کے ساتھ ترتیب دیں۔

int my_arr [ ] = { 5 ، 4 ، 60 ، 9 } ; //ایک my_arr[] شروع کریں جس کی چار اقدار ہوں۔

int m = کا سائز ( my_arr ) / کا سائز ( my_arr [ 0 ] ) ;

insertionsort_decending ( my_arr ، m ) ;

printf ( 'نزولی ترتیب میں ترتیب دیا گیا:' ) ;

کے لیے ( int میں = 0 ; میں < m ; میں ++ )

printf ( '%d' ، my_arr [ میں ] ) ;

printf ( ' \n ' ) ;

//داخل کرنا-صعودی ترتیب کے ساتھ ترتیب دیں۔

int n = کا سائز ( my_arr ) / کا سائز ( my_arr [ 0 ] ) ;

insertionsort_ascending ( arr2 ، n ) ;

printf ( 'صعودی ترتیب میں ترتیب دیا گیا:' ) ;

کے لیے ( int میں = 0 ; میں < n ; میں ++ )

printf ( '%d' ، my_arr [ میں ] ) ;

printf ( ' \n ' ) ;

واپسی 0 ;

}

اس کوڈ میں، دو طریقے insertionsort_decending() ، اور insertionsort_ascending() کی صف کی قدریں لیں۔ my_arr[] . کوڈ پھر استعمال کرتا ہے a لوپ کے لئے صف کے عناصر کے ذریعے تکرار کرنا۔

ہم دونوں فنکشنز کو مین فنکشن میں کال کرتے ہیں جب وہ اریوں کو نزولی اور صعودی ترتیب میں ترتیب دیتے ہیں۔ اس کے بعد، for loops کو ترتیب شدہ صف کو پرنٹ کرنے کے لیے استعمال کیا جاتا ہے۔

جب ہم اس پروگرام کو چلاتے ہیں تو متوقع آؤٹ پٹ نیچے رکھا جاتا ہے۔

نتیجہ

اندراج کی ترتیب نزولی یا صعودی ترتیب میں ترتیب دینے کا ایک تیز اور آسان طریقہ ہے۔ چھوٹے ڈیٹاسیٹس کے لیے، چھانٹنے کی یہ تکنیک اچھی کارکردگی کا مظاہرہ کرتی ہے۔ جیسا کہ آپ اوپر گائیڈ میں دیکھ سکتے ہیں، سی پروگرام کی مثال کو لاگو کرنا آسان ہے تاکہ نزولی اور صعودی ترتیب میں اندراج کی ترتیب کو آسانی سے سمجھ سکے۔