Tuesday 7 April 2015

Exchange Sort

Pertukaran semacam ini mirip dengan sepupunya , semacam bubble , dalam hal ini membandingkan elemen array dan swap mereka yang tidak dalam posisi yang tepat . ( Beberapa orang merujuk pada " pertukaran semacam " sebagai " bubble sort " . ) Perbedaan antara kedua jenis ini adalah cara di mana mereka membandingkan elemen . Pertukaran semacam membandingkan elemen pertama dengan setiap elemen berikut array , membuat setiap swap yang diperlukan .


Ketika lulus pertama melalui array selesai , pertukaran semacam kemudian mengambil elemen kedua dan membandingkannya dengan setiap elemen berikut array swapping elemen yang rusak . Proses pemilahan ini berlanjut sampai seluruh array diperintahkan .

Mari kita memeriksa meja yang sama kami elemen lagi menggunakan semacam pertukaran untuk urutan . Ingat , sebuah " lulus " didefinisikan sebagai satu perjalanan penuh melalui array membandingkan dan jika perlu , swapping elemen .

Array at beginning: 
84
69
76
86
94
91
After Pass #1:
94
69
76
84
86
91
After Pass #2:
94
91
69
76
84
86
After Pass #3: 
94
91
86
69
76
84
After Pass #4: 
94
91
86
84
69
76
After Pass #5 (done): 
94
91
86
84
76
69


Pertukaran semacam , dalam beberapa situasi , sedikit lebih efisien daripada jenis bubble . Hal ini tidak perlu untuk jenis pertukaran untuk membuat lulus lengkap akhir yang dibutuhkan oleh semacam bubble untuk menentukan bahwa itu selesai .

// Efek Urutkan Fungsi untuk Descending order
kekosongan ExchangeSort ( apvector < int > & num )
int temp;   // holding variable      int numLength = num.length( );      for (i=0; i< (numLength -1); i++)    // element to be compared     {           for(j = (i+1); j < numLength; j++)   // rest of the elements        {                 if (num[i] < num[j])          // descending order                {                         temp= num[i];          // swap                         num[i] = num[j];                         num[j] = temp;                }           }      }      return; }
Itulah sedikit informasi, semoga bermanfaat
Source =  http://mathbits.com/MathBits/CompSci/Arrays/Exchange.htm