1 00:00:00,000 --> 00:00:05,204 2 00:00:05,204 --> 00:00:07,370 ڈوگ لایڈ: آپ نے تو ، اسٹیک پر ویڈیو دیکھا 3 00:00:07,370 --> 00:00:09,870 شاید یہ محسوس کرنے کے لئے کی جا رہی ہے déjà vu کا تھوڑا سا کی طرح. 4 00:00:09,870 --> 00:00:13,850 یہ ایک بہت ہی اسی طرح کا تصور کرنے کے لئے جا رہا ہے صرف اس پر تھوڑا سا موڑ کے ساتھ. 5 00:00:13,850 --> 00:00:15,530 ہم قطار کے بارے میں اب بات کرنے جا رہے. 6 00:00:15,530 --> 00:00:19,350 تو ایک اسٹیک کرنے کے لئے اسی طرح کی ایک قطار،، آنکڑا ڈھانچہ کی ایک قسم ہے 7 00:00:19,350 --> 00:00:22,412 ہم برقرار رکھنے کے لئے استعمال کر سکتے ہیں ایک منظم طریقے سے اعداد و شمار. 8 00:00:22,412 --> 00:00:24,120 ایک اسٹیک کی طرح، یہ لاگو کیا جا سکتا 9 00:00:24,120 --> 00:00:27,000 ایک صف یا ایک لنک کی فہرست کے طور پر. 10 00:00:27,000 --> 00:00:30,320 ایک اسٹیک کے برعکس، قوانین ہم اس بات کا تعین کرنے کے لئے استعمال 11 00:00:30,320 --> 00:00:34,210 چیزوں کو شامل اور سے ہٹا دیا جب ایک قطار تھوڑا سا مختلف ہیں. 12 00:00:34,210 --> 00:00:36,590 >> ایک اسٹیک کے برعکس، جس میں ایک LIFO ساخت، ہے 13 00:00:36,590 --> 00:00:45,610 ، میں سب سے پہلے باہر رہے، ایک قطار ایک فیفو ہے سب سے پہلے میں ساخت، فیفو،، سب سے پہلے باہر. 14 00:00:45,610 --> 00:00:49,320 اب آپ شاید، قطار قطار کو ایک قیاس ہے. 15 00:00:49,320 --> 00:00:52,820 کیا تم نے کبھی میں لائن میں کیا گیا ہے تو ایک تفریحی پارک یا ایک بینک میں، 16 00:00:52,820 --> 00:00:56,430 ایک جانبداری کی طرح ہے ساخت کو لاگو کرنے. 17 00:00:56,430 --> 00:00:59,160 لائن میں پہلے شخص میں بینک پہلا شخص ہے 18 00:00:59,160 --> 00:01:00,760 جو ٹیلر سے بات کرنا ہے. 19 00:01:00,760 --> 00:01:03,522 >> یہ ایک دوڑ کی طرح ہو جائے گا صرف ایک ہی طریقہ ہے سب سے نیچے 20 00:01:03,522 --> 00:01:06,730 آپ کو ٹیلر سے بات کرنے کے لئے ہے بینک لائن میں آخری آدمی ہونا تھا. 21 00:01:06,730 --> 00:01:09,146 ہر کوئی ہمیشہ چاہتے ہیں لائن میں آخری آدمی بننا، 22 00:01:09,146 --> 00:01:12,580 اور سب سے پہلے شخص تھے جو جو تھوڑی دیر کے لئے انتظار کر رہا ہے 23 00:01:12,580 --> 00:01:14,715 گھنٹے کے لئے وہاں ہو سکتا ہے، اور گھنٹے، اور گھنٹے 24 00:01:14,715 --> 00:01:17,590 وہ اصل میں کے لئے ایک موقع ہے اس سے پہلے بینک میں کوئی رقم واپس لے لیں. 25 00:01:17,590 --> 00:01:22,510 اور اس قطار کی طرح ہیں جانبداری ساخت کو لاگو کرنے. 26 00:01:22,510 --> 00:01:25,780 لیکن اس کا لازمی مطلب یہ نہیں ہے پوٹ صرف، ایک بری چیز ہے کہ 27 00:01:25,780 --> 00:01:28,160 قطار ایسا کرنے کا ایک طریقہ ہیں. 28 00:01:28,160 --> 00:01:32,420 تو ایک بار پھر ایک قطار سے پہلے، میں سب سے پہلے ہے باہر، میں جن میں سے آخری ایک اسٹیک بمقابلہ، 29 00:01:32,420 --> 00:01:34,440 سب سے پہلے باہر. 30 00:01:34,440 --> 00:01:36,190 ایک اسٹیک کی طرح، ہم دو آپریشن ہے 31 00:01:36,190 --> 00:01:38,470 ہم قطار پر انجام دے سکتے ہیں. 32 00:01:38,470 --> 00:01:43,910 ناموں کو شامل کرنے کے لئے ہے، جس میں ان enqueue ہیں قطار کے آخر میں ایک نیا عنصر، 33 00:01:43,910 --> 00:01:47,330 ہے اور جو dequeue، سب سے قدیم دور کرنے کے لئے 34 00:01:47,330 --> 00:01:49,670 قطار کے سامنے سے عنصر. 35 00:01:49,670 --> 00:01:53,600 تو ہم عناصر کو شامل کرنے کے لئے جا رہے ہیں قطار کے آخر پر، 36 00:01:53,600 --> 00:01:57,220 اور ہم عناصر کو ہٹانے کے لئے جا رہے ہیں قطار کے سامنے سے. 37 00:01:57,220 --> 00:02:00,790 ایک بار پھر، اسٹیک کے ساتھ، ہم انہوں نے مزید کہا کر رہے تھے اسٹیک کے سب سے اوپر عناصر 38 00:02:00,790 --> 00:02:03,380 اور عناصر کو ہٹانے کے اسٹیک کے سب سے اوپر سے. 39 00:02:03,380 --> 00:02:07,570 ان enqueue کے ساتھ تو، اس میں اضافہ کر رہا ہے سامنے سے اتارنے آخر،. 40 00:02:07,570 --> 00:02:10,639 وہاں میں سب سے قدیم بات تو ہمیشہ اگلے چیز ہے 41 00:02:10,639 --> 00:02:13,620 ہم کوشش کریں تو باہر آنا اور کچھ dequeue. 42 00:02:13,620 --> 00:02:18,330 >> تو ایک بار پھر، قطار کے ساتھ، ہم کر سکتے ہیں سرنی کی بنیاد پر نفاذ 43 00:02:18,330 --> 00:02:20,110 اور منسلک کی فہرست کے نفاذ کی بنیاد پر. 44 00:02:20,110 --> 00:02:24,620 ہم کے ساتھ دوبارہ شروع کریں گے سرنی کی بنیاد پر نفاذ. 45 00:02:24,620 --> 00:02:27,070 ساخت تعریف خوبصورت اسی طرح لگ رہا ہے. 46 00:02:27,070 --> 00:02:30,720 ہم نے ایک صف ہے کہ ڈیٹا کی قسم قدر کی، 47 00:02:30,720 --> 00:02:32,690 تو یہ صوابدیدی اعداد و شمار اقسام پکڑ کر سکتے ہیں. 48 00:02:32,690 --> 00:02:35,570 ہم ایک بار پھر استعمال کرنے کے لئے جا رہے ہیں اس مثال میں integers کے. 49 00:02:35,570 --> 00:02:39,830 >> اور بس کے ساتھ کی طرح ہمارے سرنی کی بنیاد پر اسٹیک عملدرآمد، 50 00:02:39,830 --> 00:02:42,340 ہم ایک کا استعمال کرتے ہوئے کر رہے ہیں کیونکہ صف، ہم ضروری 51 00:02:42,340 --> 00:02:46,850 کہ حد ہے کہ سی قسم ہم ہے جو، ہم پر نافذ 52 00:02:46,850 --> 00:02:51,670 میں کسی بھی تحرک نہیں ہے ہماری اگاتے ہیں اور صف کو چھوٹا کرنے کی صلاحیت. 53 00:02:51,670 --> 00:02:55,710 ہم شروع میں فیصلہ کرنا پڑے چیزوں کی زیادہ سے زیادہ تعداد ہے 54 00:02:55,710 --> 00:02:59,300 ہم اس میں ڈال کر سکتے ہیں قطار، اور اس معاملے میں، 55 00:02:59,300 --> 00:03:02,070 صلاحیت کچھ پونڈ ہو جائے گا اپنے کوڈ میں مسلسل بیان کیا. 56 00:03:02,070 --> 00:03:05,430 اور اس کے مقاصد کے لئے ویڈیو، کی صلاحیت 10 کی جا رہی ہے. 57 00:03:05,430 --> 00:03:07,690 >> ہم کا ٹریک رکھنے کے لئے کی ضرورت ہے قطار کے سامنے 58 00:03:07,690 --> 00:03:11,160 تو ہم جس کے عنصر کو پتہ ہم dequeue کرنا چاہتے ہیں، 59 00:03:11,160 --> 00:03:15,070 اور ہم بھی کا ٹریک رکھنے کے لئے کی ضرورت ہے کچھ عناصر کی تعداد else-- 60 00:03:15,070 --> 00:03:16,690 ہم اپنے قطار میں ہے کہ. 61 00:03:16,690 --> 00:03:19,360 ہم ٹریک کو مدنظر رکھتے ہوئے نہیں کر رہے ہیں نوٹس قطار کے اختتام کے، صرف 62 00:03:19,360 --> 00:03:21,150 قطار کا سائز. 63 00:03:21,150 --> 00:03:24,310 اور اس کی وجہ امید کریں گے ایک لمحے میں تھوڑا سا واضح ہو. 64 00:03:24,310 --> 00:03:26,143 ہم مکمل کر لیا ہے ایک بار اس قسم کی تعریف، 65 00:03:26,143 --> 00:03:29,080 ہم ایک نئے اعداد و شمار کی قسم ہے ، قطار کہا جاتا ہے جس اب ہم کر سکتے ہیں 66 00:03:29,080 --> 00:03:30,630 کہ اعداد و شمار کی قسم کی متغیر کا اعلان. 67 00:03:30,630 --> 00:03:35,350 اور کسی حد تک مبہم، میں نے فیصلہ کیا ہے ، خط اس قطار کو فون کرنے کی (ق) 68 00:03:35,350 --> 00:03:38,090 بجائے ڈیٹا کی قسم ق ق. 69 00:03:38,090 --> 00:03:39,600 >> تو یہاں ہمارے قطار ہے. 70 00:03:39,600 --> 00:03:40,700 یہ ایک ساخت ہے. 71 00:03:40,700 --> 00:03:45,730 یہ تین اراکین یا تین پر مشتمل ہے کھیتوں، سائز صلاحیت کا ایک سرنی. 72 00:03:45,730 --> 00:03:47,340 اس صورت میں، کی صلاحیت 10 ہے. 73 00:03:47,340 --> 00:03:49,580 اور اس صف ہے integers کے منعقد کرنے جا رہا. 74 00:03:49,580 --> 00:03:55,240 سبز رنگ میں ہمارے قطار کے سامنے، ہے اگلے عنصر کو ہٹا، اور سرخ رنگ میں ہو 75 00:03:55,240 --> 00:03:58,610 قطار کے سائز ہو جائے گا، کتنے عناصر ہیں 76 00:03:58,610 --> 00:04:01,190 قطار میں موجودہ. 77 00:04:01,190 --> 00:04:05,300 ہم q.front برابر کہتے ہیں اگر ایسا ہے تو 0، اور q.size سائز برابر 0-- 78 00:04:05,300 --> 00:04:07,120 ہم ان شعبوں میں 0s کے ڈال رہے ہیں. 79 00:04:07,120 --> 00:04:11,070 اور اس وقت، ہم نے بہت زیادہ ہیں ہمارے قطار کے ساتھ کام شروع کرنے کے لئے تیار. 80 00:04:11,070 --> 00:04:14,140 >> تو سب سے پہلے آپریشن ہم کر سکتے ہیں انجام کچھ enqueue کرنے کے لئے ہے، 81 00:04:14,140 --> 00:04:16,860 کرنے کے لئے ایک نیا عنصر شامل کرنے کے لئے قطار کے آخر. 82 00:04:16,860 --> 00:04:19,089 ویسے ہم کرنے کی ضرورت ہے عام کیس میں کیا؟ 83 00:04:19,089 --> 00:04:23,690 ویسے اس تقریب کی ضروریات ان enqueue ہمارے قطار پوائنٹر کو قبول کرنے. 84 00:04:23,690 --> 00:04:26,370 ایک بار پھر، ہم نے اعلان کیا تھا تو عالمی سطح پر ہماری قطار، 85 00:04:26,370 --> 00:04:29,490 ہم ایسا کرنے کی ضرورت نہیں کرے گا ضروری، لیکن عام طور پر، ہم 86 00:04:29,490 --> 00:04:32,330 اشارہ قبول کرنے کی ضرورت ڈیٹا ڈھانچے 87 00:04:32,330 --> 00:04:35,040 اس طرح، دوسری صورت میں کیونکہ، ہم ہیں قدر کی طرف سے گزر رہے ہیں 88 00:04:35,040 --> 00:04:38,140 قطار کی کاپیاں میں گزر، اور تو ہم اصل کو تبدیل نہیں کر رہے ہیں 89 00:04:38,140 --> 00:04:41,050 ہم کو تبدیل کرنے کا ارادہ رکھتے ہیں قطار. 90 00:04:41,050 --> 00:04:44,860 >> ایسا کرنے کے لئے کی ضرورت ہے دوسری بات یہ ہے قبول ہے مناسب قسم کا ایک ڈیٹا عنصر. 91 00:04:44,860 --> 00:04:46,818 ایک بار پھر، اس معاملے میں، یہ ہے integers کے ہونے جا رہا، 92 00:04:46,818 --> 00:04:49,330 لیکن آپ منمانے سکتا قیمت کے طور پر ڈیٹا کی قسم کا اعلان 93 00:04:49,330 --> 00:04:51,160 اور عام طور پر اس کا استعمال. 94 00:04:51,160 --> 00:04:56,030 کہ، ہم ان enqueue کرنا چاہتے عنصر ہے ہم نے قطار کے آخر میں شامل کرنا چاہتے ہیں. 95 00:04:56,030 --> 00:04:58,573 پھر ہم اصل میں کرنا چاہتے ہیں قطار میں کہ اعداد و شمار کی جگہ. 96 00:04:58,573 --> 00:05:01,490 اس صورت میں، میں رکھ ہمارے صف کے درست مقام، 97 00:05:01,490 --> 00:05:05,040 اور پھر ہم سائز تبدیل کرنا چاہتے ہیں قطار کے، کس طرح بہت سے عناصر ہم 98 00:05:05,040 --> 00:05:07,050 فی الحال. 99 00:05:07,050 --> 00:05:07,990 >> تو چلو شروع کرتے ہیں. 100 00:05:07,990 --> 00:05:10,890 یہاں، ایک بار پھر، ہے جنرل فارم تقریب اعلان 101 00:05:10,890 --> 00:05:13,980 ان enqueue طرح نظر ہو سکتا ہے کے لئے. 102 00:05:13,980 --> 00:05:14,910 اور ہم یہاں جانا. 103 00:05:14,910 --> 00:05:18,335 کا نمبر ان enqueue ہیں قطار میں 28. 104 00:05:18,335 --> 00:05:19,460 تو کیا ہم کیا کرنے جا رہے ہیں؟ 105 00:05:19,460 --> 00:05:23,390 ٹھیک ہے، ہمارے قطار کے سامنے ہے 0، اور ہمارے قطار کے سائز میں 106 00:05:23,390 --> 00:05:29,680 0 پر ہے، اور ہم شاید ڈال کرنا چاہتے ہیں سرنی عنصر تعداد میں تعداد 28 107 00:05:29,680 --> 00:05:31,124 0، ٹھیک ہے؟ 108 00:05:31,124 --> 00:05:32,540 تو کیا اب ہم وہاں میں رکھ دیا گیا ہے. 109 00:05:32,540 --> 00:05:34,820 تو اب کیا ہم کو تبدیل کرنے کی ضرورت ہے؟ 110 00:05:34,820 --> 00:05:37,090 ہم تبدیل کرنے کے لئے نہیں کرنا چاہتے قطار کے سامنے، 111 00:05:37,090 --> 00:05:40,850 ہم کیا عنصر جاننا چاہتا ہوں کیونکہ ہم بعد میں dequeue کی ضرورت ہو سکتی. 112 00:05:40,850 --> 00:05:44,020 تو اس کی وجہ ہم سامنے وہاں ہے کیا ہے ایک اشارے کی طرح ہے 113 00:05:44,020 --> 00:05:46,439 صف میں سب سے قدیم چیز. 114 00:05:46,439 --> 00:05:49,730 ویسے صف میں سب سے قدیم چیز میں حقیقت یہ ہے کہ، صف میں صرف ایک ہی چیز صحیح 115 00:05:49,730 --> 00:05:53,540 now-- ہے جو، 28 صف 0 مقام پر. 116 00:05:53,540 --> 00:05:56,160 تو ہم نہیں کرنا چاہتے ، کہ سبز نمبر تبدیل 117 00:05:56,160 --> 00:05:57,910 اس کی وجہ سے سب سے پرانی عنصر ہے. 118 00:05:57,910 --> 00:06:00,510 بلکہ، ہم سائز تبدیل کرنا چاہتے ہیں. 119 00:06:00,510 --> 00:06:04,110 تو اس صورت میں، ہم کریں گے 1 سائز اضافہ. 120 00:06:04,110 --> 00:06:08,430 >> جہاں کا خیال اب ایک عام قسم اگلے عنصر ایک قطار میں جانے کے لئے کی جا رہی ہے 121 00:06:08,430 --> 00:06:12,310 ان دو نمبروں میں شامل ہے ایک دوسرے کے ساتھ، سامنے اور سائز، 122 00:06:12,310 --> 00:06:16,390 اور یہ کہ جہاں اگلے آپ کو بتا دونگا قطار میں عنصر جانا جا رہا ہے. 123 00:06:16,390 --> 00:06:18,130 تو اب دوسرے نمبر ان enqueue دو. 124 00:06:18,130 --> 00:06:20,250 33 ان enqueue ہیں. 125 00:06:20,250 --> 00:06:24,480 تو 33 میں جانے کے لئے کی جا رہی ہے صف 0 مقام پلس 1. 126 00:06:24,480 --> 00:06:26,840 تو اس صورت میں، یہ جا رہا ہے صف 1 محل وقوع میں جانے کے لئے، 127 00:06:26,840 --> 00:06:29,500 اور اب ہمارے قطار کا سائز 2 ہے. 128 00:06:29,500 --> 00:06:31,840 >> ایک بار پھر، ہم کو تبدیل نہیں کر رہے ہیں ہمارے قطار کے سامنے، 129 00:06:31,840 --> 00:06:34,730 28 اب بھی ہے کیونکہ قدیم ترین عنصر، اور ہم 130 00:06:34,730 --> 00:06:38,220 ہم آخر میں جب چاہتے to-- عناصر کو ہٹانے، dequeuing سے 131 00:06:38,220 --> 00:06:43,300 اس قطار سے، ہم جاننا چاہتے ہیں جہاں سب سے قدیم عنصر ہے. 132 00:06:43,300 --> 00:06:48,620 اور اس طرح ہم ہمیشہ برقرار رکھنے کے لئے کی ضرورت ہے یہ ہے کہ جہاں سے کچھ اشارے. 133 00:06:48,620 --> 00:06:50,410 تو اس 0 کے لئے وہاں کیا ہے. 134 00:06:50,410 --> 00:06:52,910 اس محاذ کے لئے وہاں کیا ہے. 135 00:06:52,910 --> 00:06:55,022 >> ان enqueue میں کی ایک اور عنصر، 19 ہیں. 136 00:06:55,022 --> 00:06:56,980 میں آپ اندازہ لگا سکتے ہیں اس بات کا یقین ہوں جہاں 19 جا رہا ہے. 137 00:06:56,980 --> 00:06:59,860 اس میں جانے کے لئے جا رہا ہے سرنی مقام نمبر 2. 138 00:06:59,860 --> 00:07:01,570 یہ 0 کے علاوہ 2 ہے. 139 00:07:01,570 --> 00:07:03,199 اور اب ہمارے قطار کا سائز 3. 140 00:07:03,199 --> 00:07:04,240 ہم نے اس میں 3 عناصر ہیں. 141 00:07:04,240 --> 00:07:08,490 تو ہم کرنے کے لئے تھے، اور ہم جا نہیں کر رہے ہیں ابھی کے لئے، ایک اور عنصر ان enqueue 142 00:07:08,490 --> 00:07:11,370 اس سرنی جگہ میں چلے جائیں گے نمبر 3، اور ہمارے قطار کا سائز 143 00:07:11,370 --> 00:07:13,160 4 ہو جائے گا. 144 00:07:13,160 --> 00:07:15,279 تو کیا اب ہم کئی عناصر کو enqueued ہے. 145 00:07:15,279 --> 00:07:16,570 اب ان کو ختم کرنا شروع کر دیں. 146 00:07:16,570 --> 00:07:19,450 کی قطار سے ان dequeue ہیں. 147 00:07:19,450 --> 00:07:23,340 >> قسم ہے جس میں، پاپ اسی طرح پوٹ کے لئے اس کے مطابق کی وجہ سے، 148 00:07:23,340 --> 00:07:26,180 dequeue ایک کو قبول کرنے کی ضرورت ہے پھر queue-- پوائنٹر، 149 00:07:26,180 --> 00:07:28,140 جب تک یہ عالمی سطح پر اعلان کر دیا ہے. 150 00:07:28,140 --> 00:07:31,610 اب ہم جگہ تبدیل کرنا چاہتے ہیں قطار کے سامنے. 151 00:07:31,610 --> 00:07:35,050 اس طرح کے آتا ہے جہاں یہ ہے کھیل میں، اس محاذ متغیر، 152 00:07:35,050 --> 00:07:37,310 ہم دور میں ایک بار کیونکہ ایک عنصر، ہم چاہتے ہیں 153 00:07:37,310 --> 00:07:40,720 اگلے سب سے قدیم عنصر میں منتقل کرنے. 154 00:07:40,720 --> 00:07:44,180 >> پھر ہم کم کرنا چاہتے ہیں قطار کا سائز، 155 00:07:44,180 --> 00:07:47,130 اور اس کے بعد ہم قیمت کو واپس کرنا چاہتے کہ قطار سے ہٹا دیا گیا تھا. 156 00:07:47,130 --> 00:07:48,921 ایک بار پھر، ہم صرف اس کو ضائع نہیں کرنا چاہتا. 157 00:07:48,921 --> 00:07:51,170 ہم شاید نکالنے ہیں ہم ہیں queue-- سے 158 00:07:51,170 --> 00:07:54,170 ہم اس کی پرواہ ہے کیونکہ یہ dequeuing. 159 00:07:54,170 --> 00:08:01,080 تو ہم نے اس تقریب کو واپس کرنا چاہتے قسم کی قدر کا ایک ڈیٹا عنصر. 160 00:08:01,080 --> 00:08:04,360 ایک بار پھر، اس معاملے میں، قیمت عدد صحیح ہے. 161 00:08:04,360 --> 00:08:05,670 >> تو اب کچھ dequeue دو. 162 00:08:05,670 --> 00:08:09,310 کی قطار سے ایک عنصر کو ہٹا دیں. 163 00:08:09,310 --> 00:08:15,970 اگر ہم کہیں int ایکس برابر & Q، ایمپرسینڈ (ق) پھر اس (ق) اعداد و شمار کے ایک پوائنٹر ہے 164 00:08:15,970 --> 00:08:20,177 structure-- کیا عنصر dequeued رکھا جائے جا رہا ہے؟ 165 00:08:20,177 --> 00:08:23,840 166 00:08:23,840 --> 00:08:29,480 اس صورت میں، یہ ایک سب سے پہلے ہے کیونکہ ، میں پہلی آنکڑا ڈھانچہ، فیفو باہر، 167 00:08:29,480 --> 00:08:33,690 ہم اس میں ڈال دیا سب سے پہلی چیز قطار 28 سال کی تھی، اور تو اس صورت میں، 168 00:08:33,690 --> 00:08:37,245 ہم سے باہر 28 لے جا رہے ہیں کیا ہے جس میں قطار، نہیں 19، 169 00:08:37,245 --> 00:08:38,870 یہ ایک اسٹیک تھا تو ہم نے کیا کریں گے. 170 00:08:38,870 --> 00:08:42,220 ہم قطار سے باہر 28 لے جا رہے ہیں. 171 00:08:42,220 --> 00:08:44,960 >> ہم کے ساتھ کیا کیا اسی طرح کی ایک اسٹیک، ہم اصل میں نہیں کر رہے ہیں 172 00:08:44,960 --> 00:08:47,345 28 حذف کرنے جا قطار سے ہی، 173 00:08:47,345 --> 00:08:49,470 ہم صرف کی قسم کے لئے جا رہے ہیں کی یہ وہاں نہیں ہے دکھاوا. 174 00:08:49,470 --> 00:08:51,678 تو یہ وہاں رہنے کے لئے جا رہا ہے یاد میں، لیکن ہم صرف ہیں 175 00:08:51,678 --> 00:08:57,820 قسم کے آگے بڑھ رہے ہیں کی طرف سے نظر انداز کرنے جا ہمارے Q ڈیٹا کے دیگر دو شعبوں 176 00:08:57,820 --> 00:08:58,830 ساخت. 177 00:08:58,830 --> 00:09:00,230 ہم سامنے تبدیل کرنے جا رہے ہیں. 178 00:09:00,230 --> 00:09:04,290 Q.front اب جا رہا ہے کہ ہے کیونکہ، 1 ہونا 179 00:09:04,290 --> 00:09:07,740 ہم میں سب سے پرانی عنصر ہماری قطار، ہم نے پہلے ہی 28 ہٹا دیا ہے کیونکہ، 180 00:09:07,740 --> 00:09:10,460 جس میں سابق قدیم ترین عنصر تھا. 181 00:09:10,460 --> 00:09:13,540 >> اور اب، ہم کو تبدیل کرنا چاہتے ہیں قطار کا سائز 182 00:09:13,540 --> 00:09:15,780 دو عناصر کی بجائے تین. 183 00:09:15,780 --> 00:09:20,450 اب یاد پہلے میں نے کہا کہ جب ہم قطار میں عناصر کو شامل کرنا چاہتے ہیں، 184 00:09:20,450 --> 00:09:26,000 ہم ایک صف جگہ میں ڈال دیا جس کے سامنے اور سائز کی رقم ہے. 185 00:09:26,000 --> 00:09:29,050 تو اس صورت میں، ہم اب بھی ڈال رہے ہیں یہ قطار میں اگلے عنصر، 186 00:09:29,050 --> 00:09:33,360 سرنی جگہ 3، اور میں ہم ایک دوسرے میں دیکھیں گے کہ. 187 00:09:33,360 --> 00:09:35,730 >> تو کیا اب ہم dequeued ہے ہماری قطار سے پہلے عنصر. 188 00:09:35,730 --> 00:09:36,480 اسے دوبارہ کرتے ہیں. 189 00:09:36,480 --> 00:09:38,696 کی ایک ہٹا دیں قطار سے عنصر. 190 00:09:38,696 --> 00:09:42,400 قدیم ترین صورت میں، موجودہ عنصر سرنی مقام 1 ہے. 191 00:09:42,400 --> 00:09:44,220 یہ q.front ہمیں بتاتا ہے. 192 00:09:44,220 --> 00:09:46,980 کہ سبز باکس ہمیں بتاتی ہے کہ کہ سب سے قدیم عنصر ہے. 193 00:09:46,980 --> 00:09:49,310 اور اس طرح، ایکس 33 ہو جائے گا. 194 00:09:49,310 --> 00:09:52,130 ہم صرف کی قسم بھول گے 33 صف میں موجود ہے، 195 00:09:52,130 --> 00:09:55,100 اور اب ہم، کہیں گے کہ قطار میں نئے قدیم ترین عنصر 196 00:09:55,100 --> 00:09:58,900 سرنی مقام 2، اور سائز میں ہے عناصر کی قطار کے، نمبر 197 00:09:58,900 --> 00:10:02,152 ہم قطار میں، 1 ہے. 198 00:10:02,152 --> 00:10:05,110 اب کچھ enqueue دو، اور میں کی طرح، ایک دوسرے پہلے اس دور دیا 199 00:10:05,110 --> 00:10:10,340 لیکن ہم میں 40 ڈال کرنا چاہتے ہیں قطار، جہاں 40 جانے کے لئے جا رہا ہے؟ 200 00:10:10,340 --> 00:10:12,880 201 00:10:12,880 --> 00:10:17,730 ویسے ہم اسے ڈال دیا گیا ہے q.front علاوہ قطار سائز میں، 202 00:10:17,730 --> 00:10:20,850 اور تو اس سے سمجھ میں آتا ہے اصل میں یہاں 40 ڈال کرنے کے لئے. 203 00:10:20,850 --> 00:10:22,840 اب کہ محسوس کچھ نقطہ، ہم جا رہے ہیں 204 00:10:22,840 --> 00:10:27,980 کے آخر میں حاصل کرنے کے لئے (ق) کے اندر ہمارے صف، 205 00:10:27,980 --> 00:10:32,010 لیکن اس 28 اور باہر چمک کم 33-- وہ تکنیکی طور پر، اصل میں ہیں 206 00:10:32,010 --> 00:10:33,300 کھلی جگہ، ٹھیک ہے؟ 207 00:10:33,300 --> 00:10:36,040 اور اس طرح، ہم کر سکتے ہیں eventually-- انہوں نے مزید کہا ہے کہ حکمرانی 208 00:10:36,040 --> 00:10:40,390 ان دو together-- ہم آخر میں مئی صلاحیت کے سائز کی طرف سے جدید کرنے کی ضرورت ہے 209 00:10:40,390 --> 00:10:41,410 تو ہم ارد گرد لپیٹ کر سکتے ہیں. 210 00:10:41,410 --> 00:10:43,620 >> ہم عنصر حاصل کرنے کے لئے تو ، ہم ہیں تو نمبر 10 211 00:10:43,620 --> 00:10:48,790 عنصر نمبر 10 میں اس کی جگہ، ہم چاہتے ہیں اصل میں صف 0 مقام میں ڈال دیا. 212 00:10:48,790 --> 00:10:50,997 اور ہم جا رہے تھے تو سرنی مجھے معاف location--، 213 00:10:50,997 --> 00:10:53,080 ہم ان کے ساتھ سائن اپ شامل ہے تو، اور ہم تعداد ہے 214 00:10:53,080 --> 00:10:56,330 ہم ڈال دیا ہوگا جہاں 11 ہو جائے گا یہ، جس میں اس صف میں موجود نہیں ہے 215 00:10:56,330 --> 00:10:58,200 یہ حد سے باہر جا رہا کیا جائے گا. 216 00:10:58,200 --> 00:11:03,367 ہم نے 10 کی طرف سے جدید اور ڈال سکتے ہیں اس سرنی مقام میں 1. 217 00:11:03,367 --> 00:11:04,450 تو اس قطار کیسے کام کرتے ہے. 218 00:11:04,450 --> 00:11:08,540 وہ ہمیشہ بائیں طرف سے جانے کے لئے جا رہے ہیں درست کرنے کے لئے اور ممکنہ طور پر کے ارد گرد لپیٹ. 219 00:11:08,540 --> 00:11:11,280 اور آپ کو وہ کر رہے ہیں جانتے ہیں کہ مکمل تو سائز، سرخ باکس کہ، 220 00:11:11,280 --> 00:11:13,710 صلاحیت کے برابر ہو جاتا ہے. 221 00:11:13,710 --> 00:11:16,720 اور ہم 40 میں شامل کیا ہے اس کے بعد قطار، اچھی طرح سے ہمیں کیا ضرورت ہے؟ 222 00:11:16,720 --> 00:11:19,890 ویسے، سب سے پرانی عنصر قطار میں، اب بھی 19 223 00:11:19,890 --> 00:11:21,990 تو ہم کو تبدیل نہیں کرنا چاہتے قطار کے سامنے، 224 00:11:21,990 --> 00:11:23,820 لیکن اب ہم دو ہیں قطار میں عناصر، 225 00:11:23,820 --> 00:11:28,710 اور اسی طرح ہم میں اضافہ کرنا چاہتے 1 سے 2 ہمارے سائز. 226 00:11:28,710 --> 00:11:31,820 >> کہ بہت زیادہ اس کے ساتھ ہے سرنی کی بنیاد پر قطار کے ساتھ کام، 227 00:11:31,820 --> 00:11:33,630 اور اسٹیک کی طرح، ایک راستہ بھی موجود ہے 228 00:11:33,630 --> 00:11:36,450 ایک لنک کی فہرست کے طور پر ایک قطار کو لاگو کرنے کے. 229 00:11:36,450 --> 00:11:40,150 اب یہ آنکڑا ڈھانچہ ٹائپ کریں آپ سے واقف لگ رہا ہے، یہ ہے. 230 00:11:40,150 --> 00:11:43,780 یہ ایک اکیلے منسلک فہرست نہیں ہے یہ ایک دوگنا سے منسلک فہرست ہے. 231 00:11:43,780 --> 00:11:46,790 اور اب، ایک طرف ایک کے طور پر، یہ ہے لاگو کرنے کے لئے اصل میں ممکن 232 00:11:46,790 --> 00:11:50,160 ایک اکیلے منسلک فہرست کے طور پر ایک قطار، لیکن میں، تصور کے بارے میں سوچنا 233 00:11:50,160 --> 00:11:53,350 یہ اصل میں دیکھنے کے لئے مدد ہو سکتا ہے ایک دوگنا سے منسلک فہرست کے طور پر اس. 234 00:11:53,350 --> 00:11:56,850 لیکن یہ یقینی طور پر ممکن ہے ایک اکیلے منسلک فہرست کے طور پر ایسا. 235 00:11:56,850 --> 00:12:00,110 >> تو پر ایک نظر کرتے ہیں کیا اس طرح نظر ہو سکتا ہے. 236 00:12:00,110 --> 00:12:02,750 ہم enquue-- کے لئے چاہتے ہیں تو اب، پھر ہم ہیں 237 00:12:02,750 --> 00:12:05,360 ایک لنک کی فہرست کے لئے سوئچنگ یہاں ماڈل کی بنیاد پر. 238 00:12:05,360 --> 00:12:08,420 ہم ان enqueue کرنا چاہتے ہیں، ہم چاہتے ہیں اچھی طرح سے، ایک نیا عنصر شامل کرنے کے لئے 239 00:12:08,420 --> 00:12:09,730 ہمیں کیا ضرورت ہے؟ 240 00:12:09,730 --> 00:12:12,770 سب سے پہلے، ٹھیک ہے، کیونکہ ہم آخر میں اضافہ کر رہے ہیں 241 00:12:12,770 --> 00:12:15,520 اور سے اتارنے شروع، ہم شاید 242 00:12:15,520 --> 00:12:20,050 دونوں کو اشارہ برقرار رکھنا چاہتے ہیں سر اور لنک کی فہرست کے دم؟ 243 00:12:20,050 --> 00:12:22,660 پونچھ کے لئے ایک اور مدت ہونے لنک کی فہرست کے آخر میں، 244 00:12:22,660 --> 00:12:24,496 منسلک فہرست میں آخری عنصر. 245 00:12:24,496 --> 00:12:26,620 اور یہ، شاید ایک بار پھر، ہم سے فائدہ مند ہو 246 00:12:26,620 --> 00:12:28,477 وہ عالمی متغیر ہیں. 247 00:12:28,477 --> 00:12:31,060 لیکن اب ہم ایک نئے شامل کرنا چاہتے ہیں تو عنصر ہمیں کیا کرنا ہے؟ 248 00:12:31,060 --> 00:12:35,262 کیا ہم صرف [؟ سے malak؟] یا متحرک خود کے لئے ہمارے نئے نوڈ مختص. 249 00:12:35,262 --> 00:12:38,220 ہم کسی بھی شامل کریں جب اور پھر، صرف پسند ایک دوگنا سے منسلک فہرست ہم عنصر، 250 00:12:38,220 --> 00:12:40,410 صرف of-- حل کرنا پڑے یہاں ان لوگوں کو آخری تین مراحل 251 00:12:40,410 --> 00:12:43,330 صرف تمام منتقل کے بارے میں ہیں درست طریقے سے اشارہ 252 00:12:43,330 --> 00:12:46,710 تاکہ عنصر شامل ہو جاتا ہے چین کو توڑنے کے بغیر چین 253 00:12:46,710 --> 00:12:49,580 یا غلطی کی کسی قسم بنانے یا حادثے کے کچھ قسم کی ہونے 254 00:12:49,580 --> 00:12:54,505 جس کے تحت ہم اتفاقی طور پر ہو ہمارے قطار کے بعض عناصر یتیم. 255 00:12:54,505 --> 00:12:55,880 یہاں اس طرح نظر ہو سکتا ہے. 256 00:12:55,880 --> 00:13:00,980 ہم عنصر شامل کرنا چاہتے ہیں اس قطار کے اختتام پر 10. 257 00:13:00,980 --> 00:13:03,380 یہاں سب سے پرانی عنصر تو سر کی طرف سے نمائندگی کر رہا ہے. 258 00:13:03,380 --> 00:13:06,800 یہی ہے جو ہم ڈال پہلی چیز ہے یہاں اس فرضی قطار میں. 259 00:13:06,800 --> 00:13:10,430 اور پونچھ، 13، سب سے زیادہ ہے حال ہی میں عنصر شامل. 260 00:13:10,430 --> 00:13:17,030 اور اس طرح ہم میں 10 ان enqueue کرنا چاہتے ہیں تو اس قطار، ہم 13 کے بعد اسے ڈال کرنا چاہتے ہیں. 261 00:13:17,030 --> 00:13:19,860 اور اس طرح ہم کو متحرک کرنے کے لئے جا رہے ہیں ایک نیا نوڈ کے لئے جگہ مختص 262 00:13:19,860 --> 00:13:23,280 اور بات کو یقینی بنانا، شہوت انگیز null کے لئے چیک ہم ایک میموری ناکامی نہیں ہے. 263 00:13:23,280 --> 00:13:27,040 پھر ہم کرنے جا رہے ہیں اس نوڈ میں 10 جگہ، 264 00:13:27,040 --> 00:13:30,030 اور اب ہم محتاط رہنے کی ضرورت ہم اشارہ کو منظم کے بارے میں 265 00:13:30,030 --> 00:13:32,180 تو ہم چین نہیں ٹوٹتے. 266 00:13:32,180 --> 00:13:38,910 >> ہم نے 10 کی گزشتہ میدان مقرر کر سکتے ہیں پرانے دم پر واپس کی طرف اشارہ کرنا، 267 00:13:38,910 --> 00:13:41,620 اور '10 کے بعد ہو جائے گا کچھ نقطہ پر نیا پونچھ 268 00:13:41,620 --> 00:13:44,459 ان میں سے سب کی طرف سے وقت زنجیروں سے جڑے ہوئے ہیں، 269 00:13:44,459 --> 00:13:46,250 کچھ بھی نہیں آنے والا ہے کے بعد 10 ابھی. 270 00:13:46,250 --> 00:13:49,880 اور اس طرح 10 کے اگلے پوائنٹر شہوت انگیز null اشارہ کریں گے، 271 00:13:49,880 --> 00:13:53,580 ہم نے کے بعد اور پھر ہم ایسا کرنے کے بعد ، چین میں 10 پیچھے منسلک 272 00:13:53,580 --> 00:13:57,780 ہم پرانے سر، یا، عذر لے جا سکتے ہیں مجھے، قطار کے پرانے دم. 273 00:13:57,780 --> 00:14:02,980 قطار کے پرانے آخر، 13، اور 10 کی طرف اشارہ کر سکتے ہیں. 274 00:14:02,980 --> 00:14:08,220 اور اب، اس وقت، ہم نے اس قطار میں 10 نمبر کو enqueued. 275 00:14:08,220 --> 00:14:14,740 اب ہم کیا کرنے کی ضرورت ہے صرف اقدام ہے پونچھ سے 10 بجائے 13 کی طرف اشارہ کرنے. 276 00:14:14,740 --> 00:14:17,630 >> Dequeuing اصل میں ہے پوپ آؤٹ پر بہت ملتا جلتا 277 00:14:17,630 --> 00:14:21,710 ہے کہ ایک اسٹیک سے ایک لنک کی فہرست کے طور پر لاگو 278 00:14:21,710 --> 00:14:24,040 آپ پوٹ ویڈیو دیکھا ہے. 279 00:14:24,040 --> 00:14:27,280 ہم کیا کرنے کی ضرورت پر شروع شروع، دوسرا عنصر مل جائے، 280 00:14:27,280 --> 00:14:30,480 پہلا عنصر آزاد، اور پھر سر کو منتقل 281 00:14:30,480 --> 00:14:32,930 دوسرا عنصر کی طرف اشارہ کرنے. 282 00:14:32,930 --> 00:14:37,920 شاید بہتر یہ دیکھ کرنے کے لئے صرف اس کے بارے میں اضافی واضح ہونا. 283 00:14:37,920 --> 00:14:39,230 تو یہاں ہمارے قطار دوبارہ ہے. 284 00:14:39,230 --> 00:14:42,600 12 سب سے پرانی عنصر ہے ہمارے قطار، سر میں. 285 00:14:42,600 --> 00:14:46,210 10 تازہ ترین عنصر ہے ہمارے قطار، ہمارے دم میں. 286 00:14:46,210 --> 00:14:49,310 >> اور اس طرح ہم چاہتے ہیں جب ایک عنصر dequeue کرنا، 287 00:14:49,310 --> 00:14:52,202 ہم سب سے قدیم عنصر کو خارج کرنا چاہتے. 288 00:14:52,202 --> 00:14:52,910 تو ہم کیا کرتے ہیں؟ 289 00:14:52,910 --> 00:14:55,243 ویسے ہم ایک traversal پوائنٹر قائم کہ، سر سے شروع ہوتی ہے 290 00:14:55,243 --> 00:14:57,840 اور ہم ایسا منتقل یہ دوسرا عنصر کی طرف اشارہ ہے 291 00:14:57,840 --> 00:15:02,290 اس کے سے Trav کہہ کر کچھ queue-- سے Trav اگلے تیر کے برابر ہے، مثال کے طور پر، 292 00:15:02,290 --> 00:15:07,170 کی طرف اشارہ کرنے کے لئے وہاں سے Trav منتقل کرے گا ہم 12 dequeue کے بعد، جس میں 15،، 293 00:15:07,170 --> 00:15:13,030 ہم 12 کو ہٹانے کے بعد یا، گے اس وقت کے سب سے قدیم عنصر بن. 294 00:15:13,030 --> 00:15:16,360 >> اب ہم سب سے پہلے پر ایک ہولڈ مل گیا ہے پوائنٹر سر ذریعے عنصر 295 00:15:16,360 --> 00:15:19,440 اور دوسرا عنصر پوائنٹر سے Trav ذریعے. 296 00:15:19,440 --> 00:15:25,170 اب ہم مفت سر کر سکتے ہیں، اور پھر ہم کر سکتے ہیں کچھ بھی نہیں اب 15 سے پہلے آتا ہے کا کہنا ہے کہ. 297 00:15:25,170 --> 00:15:29,990 تو ہم 15 کے پچھلے تبدیل کر سکتے ہیں پوائنٹر شہوت انگیز null کی طرف اشارہ کرنے، 298 00:15:29,990 --> 00:15:31,874 اور ہم صرف سر پر منتقل. 299 00:15:31,874 --> 00:15:32,540 اور ہم وہاں جا. 300 00:15:32,540 --> 00:15:35,840 اب ہم کامیابی 12 dequeued، اور اب ہم 301 00:15:35,840 --> 00:15:39,180 4 عناصر کا ایک قطار ہے. 302 00:15:39,180 --> 00:15:41,700 کہ بہت زیادہ سب ، قطار کے لئے نہیں ہے 303 00:15:41,700 --> 00:15:45,810 دونوں سرنی کی بنیاد پر اور منسلک فہرست کی بنیاد پر. 304 00:15:45,810 --> 00:15:46,860 میں ڈوگ لایڈ ہوں. 305 00:15:46,860 --> 00:15:49,100 یہ کاوچ سرفنگ کے 50 ہے. 306 00:15:49,100 --> 00:15:50,763