Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

วิธีการจัดเรียงอาร์เรย์หนึ่งมิติในลำดับจากมากไปน้อยโดยใช้วิธีที่ไม่คงที่?


ตั้งค่ารายการที่ไม่เรียงลำดับก่อน

int[] list = {87, 45, 56, 22, 84, 65};

ตอนนี้ใช้ nested for loop เพื่อเรียงลำดับรายการที่ส่งผ่านไปยังฟังก์ชัน

for(int i=0; ilt; arr.Length; i++) {
   for(int j=i+1; j<arr.Length; j++) {
      if(arr[i]<=arr[j]) {
         temp=arr[j];
         arr[j]=arr[i];
         arr[i]=temp;
      }
   }
   Console.Write(arr[i] + " ");
}

ต่อไปนี้เป็นรหัสที่สมบูรณ์เพื่อจัดเรียงอาร์เรย์หนึ่งมิติจากมากไปหาน้อย

ตัวอย่าง

using System;
namespace Demo {
   public class MyApplication {
      public static void Main(string[] args) {
         int[] list = {87, 45, 56, 22, 84, 65};
         Console.WriteLine("Original Unsorted List");
         foreach (int i in list) {
            Console.Write(i + " ");
         }
         MyApplication m = new MyApplication();
         m.sortFunc(list);
      }
      public void sortFunc(int[] arr) {
         int temp = 0;
         Console.WriteLine("\nSorted List");
         for(int i=0; i< arr.Length; i++) {
            for(int j=i+1; j<arr.Length; j++) {
               if(arr[i]<=arr[j]) {
                  temp=arr[j];
                  arr[j]=arr[i];
                  arr[i]=temp;
               }
            }
            Console.Write(arr[i] + " ");
         }
      }
   }
}

ผลลัพธ์

Original Unsorted List
87 45 56 22 84 65
Sorted List
87 84 65 56 45 22