Java'da Bir Dizinin Sırasını Koruyarak Tüm 0'ları Dizinin sonuna nasıl taşırım? [2 yol]

Yayınlanan: 2020-12-31
Java'da Bir Dizinin Sırasını Koruma Sırasını Koruyarak Tüm 0'ları Dizinin sonuna nasıl taşırım? [2 yol]

Çeşitli kombinasyonlarda farklı görüşmelerde moving all 0's to end sorunuyla oynuyorum. Bazen tüm 0'ları dizinin önüne taşımayı, bir diziyi herhangi bir veri yapısı olmadan sıralamayı vb.

Bu eğitimde, bir Dizinin sırasını korumayı sona erdirmek için tüm 0'ları taşımanın basit örneğini inceleyeceğiz. İki yaklaşım var.

Yaklaşım-1)

QuickSort Bölümleme mantığı. Pivot Noktası nedir?

  • Pivot point , Hızlı Sıralama Algoritmasının önemli bir öğesidir. Toplama işlemini pivot noktası etrafında gerçekleştirir ve bölümlendirir.
  • Önündeki pivottan daha büyük bir Dizi öğelerini ve pivottan daha büyük öğeleri ondan sonra düzenler.
  • Bir diziyi sıralamak için döngü boyunca devam edin

Mantık çok basit:

  • Bir Dizi aracılığıyla yineleyin.
  • [i] dizisi 0'a eşit değilse, onu geçerli dizinle değiştirin.
  • dizi[i] == 0 ise, basitçe döngüyü atlayın
  • Bizim durumumuzda 0 is a Pivot point .
  • 0'ı her bulduğumuzda, karşı eksen artırılacak ve eleman pivot noktasından önce hareket edecektir.

Yaklaşım-2)

  • Aynı boyutta yeni bir dizi oluşturun
  • Bir Dizi boyunca yineleyin ve 0 eklemeyi atlayın

İşte Tam Bir Program:

CrunchifyMoveAll0ToEnd.java

Eclipse Konsol Çıktısı:

Bu sorunu çözmenin daha iyi bir yolunu biliyorsanız bana bildirin. Düşüncelerinizi duymayı çok isterim.