Bir tamsayı dizisi nums verildiğinde, sıfır olmayan öğelerin göreli sırasını korurken tüm 0'ları sonuna taşıyın. Bunu, dizinin bir kopyasını oluşturmadan yerinde yapmanız gerektiğini unutmayın.
Bu sorunu çözmek için iki işaretçi tekniğini kullanabilirsiniz. i'nin 0'dan başladığı ve j'nin dizideki 0'ın ilk geçtiği yerden başladığı i ve j olmak üzere iki işaretçiyi başlatın. Diziyi i işaretçisiyle yineleyin. Eleman sıfır değilse, onu j indeksindeki ve j artışındaki elemanla değiştirin. Yinelemeden sonra, sıfır olmayan tüm öğeler orijinal sıralarında dizinin başında olacak ve tüm sıfırlar sonunda olacaktır. İşte bu algoritmayı uygulayacak kod: ``` void moveZeroes(vector<int>& nums) { int n = nums.size(); int = 0; for (int i = 0; i < n; i++) { if (sayilar[i] != 0) { takas(sayilar[i], sayilar[j]); j++; } } } ```