معرفی
تقریباً هر برنامهای که من ایجاد کردهام به روشی برای مرتبسازی یک آرایه دو بعدی بر اساس ستون یک به ترتیب مرتبسازی انتخابی، سپس بر اساس ستون دو به ترتیب مرتبسازی انتخابی، و سپس توسط ستون سه به ترتیب مرتبسازی انتخابی و سپس با ستون سه به ترتیب مرتبسازی انتخاب شده نیاز دارد. n به ترتیب مرتب سازی انتخاب شده.
برای مرتب سازی آرایه های دو بعدی حاوی انواع مختلف مقادیر، اعداد صحیح، رشته ها، بولی ها و غیره، از کلاس DataGridView و کنترل کننده رویداد DataGridViewSort آن استفاده کرده ام. دستکاری با داده ها به هر شکلی آسان است و مرتب سازی سریع را نیز ارائه می دهد. مقاله ای در مورد آن را می توان در اینجا یافت .
اما گاهی اوقات نمی توان چنین راه حلی را پیاده کرد. بنابراین، من تصمیم گرفتم تا روش جهانی خود را برای مرتبسازی آرایههای دو بعدی بنویسم، که میتواند برای مرتبسازی آرایهها در هر برنامهای که قرار است بنویسم استفاده شود.
بعد از مدتی این روش را نوشته ام.
چگونه این روش را توسعه دادم؟
اول، تصمیم این بود که آرایه دوبعدی باید دقیقاً از نوع رشته باشد. از آنجایی که هر نوع داده دیگری (int، double، float، اعشاری، کاراکتر، بولی، ...) را می توان به عنوان یک مقدار رشته نشان داد، و به همین دلیل، نوع رشته آرایه دو بعدی می تواند انواع مختلفی از داده ها را داشته باشد که می تواند به راحتی دستکاری و مرتب شوند.
مهم
داده های ذخیره شده در داخل نوع آرایه رشته همیشه به عنوان یک نوع رشته نمایش داده می شوند (به خاطر سپرده می شوند). هنگام مرتب سازی، تمام داده ها به عنوان رشته ها و اعداد نیز مقایسه می شوند. در صورت نیاز به مرتب سازی اعداد، باید فرمت داده ها را تنظیم کرد تا روتین مرتب سازی نتیجه صحیح را برگرداند.
داده های عددی به عنوان رشته | دادههای عددی برای مرتبسازی بهعنوان مقادیر عددی فرمبندی شدهاند | به درستی به صورت اعداد مرتب شده اند |
"1" | "0001" | "0001" |
"10" | "0010" | "0003" |
"214" | "0214" | "0004" |
"3" | "0003" | "0005" |
"4" | "0004" | "0010" |
"5" | "0005" | "0214" |
"1024" | "1024" | "1024" |
داده های عددی به عنوان رشته | دادههای عددی برای مرتبسازی بهعنوان مقادیر عددی فرمبندی نشدهاند | به درستی به عنوان رشته مرتب شده است |
"1" | "1" | "1" |
"10" | "10" | "10" |
"214" | "214" | "1024" |
"3" | "3" | "214" |
"4" | "4" | "3" |
"5" | "5" | "4" |
"1024" | "1024" | "5" |
نمونه ای از قالب بندی داده های عددی.
نتیجه قالب بندی
داده های عددی داده های قالب بندی شده
100 000100
نام آرایه دو بعدی در داخل برنامه باید TABLE باشد.
اعلان TABLE با 10 سطر و 10 ستون، حداکثر 100 عنصر.
تصمیم دوم استفاده از یک آرایه دو بعدی از نوع عدد صحیح برای ذخیره دستورالعمل های مرتب سازی TABLE بود.
یک دستورالعمل مرتب سازی ساده به این شکل است.