Dizi, aynı veri türlerine sahip öğeler topluluğudur. Doğrusal bir veri yapısıdır ve bitişik bellek konumlarında depolanır. Bir dizi üzerinde ekleme, silme, arama, güncelleme, geçiş vb. birçok temel işlemi gerçekleştirebilirsiniz.
Bu makalede, sıralanmış ve sıralanmamış dizilerden yinelenen öğelerin nasıl kaldırılacağını öğreneceksiniz.
Sıralanmamış Bir Diziden Yinelenen Öğeler Nasıl Kaldırılır
Sorun bildirimi
Size sıralanmamış bir tamsayı dizisi verildi. Diziden yinelenen öğeleri kaldırmanız ve diziyi benzersiz öğelerle yazdırmanız gerekir.
örnek 1: arr = [23, 35, 23, 56, 67, 35, 35, 54, 76]
Yinelenen öğeleri kaldırdıktan sonra dizi: 23 35 56 67 54 76
Böylece çıktı 23 35 56 67 54 76 olur.
Örnek 2: Dizi = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]
Yinelenen öğeleri kaldırdıktan sonra dizi: 5 6 1 7 8 2
Böylece, çıktı 5 6 1 7 8 2'dir.
Sıralanmamış Bir Diziden Yinelenen Öğeleri Kaldırma Yaklaşımı
Aşağıdaki yaklaşımı izleyerek sıralanmamış bir diziden yinelenen öğeleri kaldırabilirsiniz:
- Dizinin tüm benzersiz öğelerini depolayacak bir karma haritayı başlatın.
- Diziyi çaprazlayın.
- Öğenin dizide olup olmadığını kontrol edin.
- Öğe dizide mevcutsa, geçiş yapmaya devam edin.
- Öğe dizide yoksa, öğeyi yazdırın ve karma haritasında saklayın.
Not: Bu çözümün zaman karmaşıklığı O(n)'dir.
Sıralanmamış Diziden Yinelenen Öğeleri Kaldırmak için C++ Programı
Sıralanmamış bir diziden yinelenen öğeleri kaldırmak için C++ programı aşağıdadır:
// Sıralanmamış bir diziden yinelenen öğeleri kaldırmak için C++ programı
#Dahil etmek
ad alanı std kullanarak;
// Sıralanmamış bir diziden yinelenen öğeleri kaldırma işlevi
void removeDuplicateElements (int dizi[], int boyut)
{
unordered_map m;
için (int i=0; ben{
// Değilse elemanı yazdır
// karma haritada mevcut
if (m.find (dizi[i]) == m.end())
{
cout << dizi[i] << " ";
}
// Elemanı karma haritasına ekle
m[dizi[i]] = doğru;
}
cout << endl;
}
void printArrayElements (int dizi[], int boyut)
{
için (int i=0; ben{
cout << dizi[i] << " ";
}
cout << endl;
}
int ana()
{
int arr1[] = {23, 35, 23, 56, 67, 35, 35, 54, 76};
int size1 = sizeof (dizi1)/sizeof (dizi1[0]);
cout << "İlk Dizi: " << endl;
printArrayElements (dizi1, size1);
cout << "Yinelenenleri kaldırdıktan sonra dizi: " << endl;
removeDuplicateElements (dizi1, size1);
int dizi2[] = {5, 6, 1, 1, 7, 5, 8, 2, 7, 8};
int size2 = sizeof (dizi2)/sizeof (dizi2[0]);
cout << "İlk Dizi: " << endl;
printArrayElements (dizi2, boyut2);
cout << "Yinelenenleri kaldırdıktan sonra dizi: " << endl;
removeDuplicateElements (dizi2, size2);
int arr3[] = {32, 35, 33, 32, 33, 38, 32, 39};
int size3 = sizeof (dizi3)/sizeof (dizi3[0]);
cout << "İlk Dizi: " << endl;
printArrayElements (dizi3, boyut3);
cout << "Yinelenenleri kaldırdıktan sonra dizi: " << endl;
removeDuplicateElements (dizi3, boyut3);
0 döndür;
}
Çıktı:
İlk Dizi:
23 35 23 56 67 35 35 54 76
Kopyaları kaldırdıktan sonra dizi:
23 35 56 67 54 76
İlk Dizi:
5 6 1 1 7 5 8 2 7 8
Kopyaları kaldırdıktan sonra dizi:
5 6 1 7 8 2
İlk Dizi:
32 35 33 32 33 38 32 39
Kopyaları kaldırdıktan sonra dizi:
32 35 33 38 39
İlişkili: "Merhaba Dünya!" Nasıl Yazdırılır? En Popüler Programlama Dillerinde
Sıralanmamış Bir Diziden Yinelenen Öğeleri Kaldırmak için Python Programı
Aşağıda, sıralanmamış bir diziden yinelenen öğeleri kaldırmak için Python programı verilmiştir:
# Sıralanmamış bir listeden yinelenen öğeleri kaldırmak için Python programı
def removeDuplicateElements (dizi, boyut):
m = {}
aralıktaki i için (boyut):
# Değilse öğeyi yazdır
# sözlükte mevcut
arr[i] m cinsinden değilse:
yazdır (dizi[i], bitiş = " ")
# Öğeyi sözlüğe ekle
m[dizi[i]] = 1
Yazdır()
def printListElements (dizi, boyut):
aralıktaki i için (boyut):
yazdır (dizi[i], bitiş=" ")
Yazdır()
dizi1 = [23, 35, 23, 56, 67, 35, 35, 54, 76]
size1 = uzunluk (dizi1)
print("İlk Liste: ")
printListElements (dizi1, boyut1)
print("Yinelenenleri kaldırdıktan sonraki liste: ")
removeDuplicateElements (dizi1, boyut1)
dizi2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]
size2 = uzunluk (arr2)
print("İlk Liste: ")
printListElements (dizi2, boyut2)
print("Yinelenenleri kaldırdıktan sonraki liste: ")
removeDuplicateElements (dizi2, boyut2)
dizi3 = [32, 35, 33, 32, 33, 38, 32, 39]
size3 = uzunluk (arr3)
print("İlk Liste: ")
printListElements (dizi3, boyut3)
print("Yinelenenleri kaldırdıktan sonraki liste: ")
removeDuplicateElements (dizi3, boyut3)
Çıktı:
İlk Dizi:
23 35 23 56 67 35 35 54 76
Kopyaları kaldırdıktan sonra dizi:
23 35 56 67 54 76
İlk Dizi:
5 6 1 1 7 5 8 2 7 8
Kopyaları kaldırdıktan sonra dizi:
5 6 1 7 8 2
İlk Dizi:
32 35 33 32 33 38 32 39
Kopyaları kaldırdıktan sonra dizi:
32 35 33 38 39
Sıralanmamış Diziden Yinelenen Öğeleri Kaldırmak için JavaScript Programı
Sıralanmamış bir diziden yinelenen öğeleri kaldırmak için JavaScript programı aşağıdadır:
// Sıralanmamış bir diziden yinelenen öğeleri kaldırmak için JavaScript programı
// Sıralanmamış bir diziden yinelenen öğeleri kaldırma işlevi
function removeDuplicateElements (dizi, boyut) {
m = yeni Harita();
için (i = 0; ben < boyut; ben++) {
// Değilse elemanı yazdır
// karma haritada mevcut
if (m.get (dizi[i]) == boş) {
belge.write (dizi[i] + " ");
}
// Elemanı karma haritasına ekle
m.set (dizi[i], doğru);
}
belge.yaz("
");
}
function printArrayElements (dizi, boyut) {
için (i=0; benbelge.write (dizi[i] + " ");
}
belge.yaz("
");
}
arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76];
olsun size1 = dizi1.uzunluk;
document.write("İlk Dizi: " + "
");
printArrayElements (dizi1, size1);
document.write("Yinelenenleri kaldırdıktan sonra dizi: " + "
");
removeDuplicateElements (dizi1, size1);
arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8];
size2 = dizi2.uzunluk olsun;
document.write("İlk Dizi: " + "
");
printArrayElements (dizi2, boyut2);
document.write("Yinelenenleri kaldırdıktan sonra dizi: " + "
");
removeDuplicateElements (dizi2, size2);
arr3 = [32, 35, 33, 32, 33, 38, 32, 39];
size3 = dizi3.uzunluk olsun;
document.write("İlk Dizi: " + "
");
printArrayElements (dizi3, boyut3);
document.write("Yinelenenleri kaldırdıktan sonra dizi: " + "
");
removeDuplicateElements (dizi3, boyut3);
Çıktı:
İlk Dizi:
23 35 23 56 67 35 35 54 76
Kopyaları kaldırdıktan sonra dizi:
23 35 56 67 54 76
İlk Dizi:
5 6 1 1 7 5 8 2 7 8
Kopyaları kaldırdıktan sonra dizi:
5 6 1 7 8 2
İlk Dizi:
32 35 33 32 33 38 32 39
Kopyaları kaldırdıktan sonra dizi:
32 35 33 38 39
İlişkili: Bir Dizede Verilen Bir Karakterin Oluşumları Nasıl Sayılır
Sıralanmış Bir Diziden Yinelenen Öğeler Nasıl Kaldırılır
Sorun bildirimi
Size sıralanmış bir tamsayı dizisi verildi. Diziden yinelenen öğeleri kaldırmanız ve diziyi benzersiz öğelerle yazdırmanız gerekir.
örnek 1: arr = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]
Yinelenen öğeleri kaldırdıktan sonra dizi: 1 2 4 6 8 9
Böylece çıktı 1 2 4 6 8 9 olur.
Örnek 2: arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
Yinelenen öğeleri kaldırdıktan sonra dizi: 1 2 3 4 5
Böylece çıktı 1 2 3 4 5 olur.
Sıralanmış Bir Diziden Yinelenen Öğeleri Kaldırma Yaklaşımı
Aşağıdaki yaklaşımı izleyerek sıralanmış bir diziden yinelenen öğeleri kaldırabilirsiniz:
- i ve j dizin değişkenlerini 0 ile başlatın.
- Diziyi yineleyin.
- Eğer i. eleman (i+1)inci elemana eşit değilse, o zaman i. değerini arr[j] içinde saklayın ve j değerini artırın.
- Her yinelemede i değerini artırın.
- arr'ın son değerini arr[j] içinde saklayın.
- Son olarak dizinin yeni boyutunu döndürün, yani j. Benzersiz öğeler dizide 0 dizininden j-1'e kadar saklanacaktır.
Not: Bu çözümün zaman karmaşıklığı O(n)'dir.
Sıralanmış Bir Diziden Yinelenen Öğeleri Kaldırmak için C++ Programı
Sıralanmış bir diziden yinelenen öğeleri kaldırmak için C++ programı aşağıdadır:
// Sıralanmış bir diziden yinelenen öğeleri kaldırmak için C++ programı
#Dahil etmek
ad alanı std kullanarak;
// Sıralanmış bir diziden yinelenen öğeleri kaldırma işlevi
int removeDuplicateElements (int dizi[], int boyut)
{
int j = 0;
için (int i = 0; ben < beden-1; ben++)
{
// i. eleman (i+1)'inci elemana eşit değilse,
// sonra i. değeri arr[j] içinde sakla
if (dizi[i] != dizi[i+1])
{
dizi[j] = dizi[i];
j++;
}
}
// arr'ın son değerini arr[j] içinde saklamak
dizi[j++] = dizi[boy-1];
dönüş j;
}
void printArrayElements (int dizi[], int boyut)
{
için (int i=0; ben{
cout << dizi[i] << " ";
}
cout << endl;
}
int ana()
{
int arr1[] = {1, 1, 1, 2, 4, 6, 8, 8, 9, 9};
int size1 = sizeof (dizi1)/sizeof (dizi1[0]);
cout << "İlk Dizi: " << endl;
printArrayElements (dizi1, size1);
cout << "Yinelenenleri kaldırdıktan sonra dizi: " << endl;
size1 = removeDuplicateElements (dizi1, size1);
printArrayElements (dizi1, size1);
int dizi2[] = {1, 1, 2, 2, 3, 3, 4, 4, 5, 5};
int size2 = sizeof (dizi2)/sizeof (dizi2[0]);
cout << "İlk Dizi: " << endl;
printArrayElements (dizi2, boyut2);
cout << "Yinelenenleri kaldırdıktan sonra dizi: " << endl;
size2 = removeDuplicateElements (dizi2, size2);
printArrayElements (dizi2, boyut2);
int dizi3[] = {10, 12, 12, 14, 16, 16, 18, 19, 19};
int size3 = sizeof (dizi3)/sizeof (dizi3[0]);
cout << "İlk Dizi: " << endl;
printArrayElements (dizi3, boyut3);
cout << "Yinelenenleri kaldırdıktan sonra dizi: " << endl;
size3 = removeDuplicateElements (dizi3, size3);
printArrayElements (dizi3, boyut3);
0 döndür;
}
Çıktı:
İlk Dizi:
1 1 1 2 4 6 8 8 9 9
Kopyaları kaldırdıktan sonra dizi:
1 2 4 6 8 9
İlk Dizi:
1 1 2 2 3 3 4 4 5 5
Kopyaları kaldırdıktan sonra dizi:
1 2 3 4 5
İlk Dizi:
10 12 12 14 16 16 18 19 19
Kopyaları kaldırdıktan sonra dizi:
10 12 14 16 18 19
Sıralanmış Bir Diziden Yinelenen Öğeleri Kaldırmak için Python Programı
Sıralanmış bir diziden yinelenen öğeleri kaldırmak için Python programı aşağıdadır:
# Sıralanmış bir diziden yinelenen öğeleri kaldırmak için Python programı
def removeDuplicateElements (dizi, boyut):
j = 0
i aralığında (boyut-1):
eğer dizi[i] != dizi[i+1]:
dizi[j] = dizi[i]
j = j+1
dizi[j] = dizi[beden-1]
j = j+1
dönüş j
def printListElements (dizi, boyut):
aralıktaki i için (boyut):
yazdır (dizi[i], bitiş=" ")
Yazdır()
dizi1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]
size1 = uzunluk (dizi1)
print("İlk Dizi:")
printListElements (dizi1, boyut1)
print("Yinelenenleri kaldırdıktan sonra dizi:")
size1 = removeDuplicateElements (dizi1, size1)
printListElements (dizi1, boyut1)
dizi2 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
size2 = uzunluk (arr2)
print("İlk Dizi:")
printListElements (dizi2, boyut2)
print("Yinelenenleri kaldırdıktan sonra dizi:")
size2 = removeDuplicateElements (dizi2, size2)
printListElements (dizi2, boyut2)
dizi3 = [10, 12, 12, 14, 16, 16, 18, 19, 19]
size3 = uzunluk (arr3)
print("İlk Dizi:")
printListElements (dizi3, boyut3)
print("Yinelenenleri kaldırdıktan sonra dizi:")
size3 = removeDuplicateElements (dizi3, size3)
printListElements (dizi3, boyut3)
Çıktı:
İlk Dizi:
1 1 1 2 4 6 8 8 9 9
Kopyaları kaldırdıktan sonra dizi:
1 2 4 6 8 9
İlk Dizi:
1 1 2 2 3 3 4 4 5 5
Kopyaları kaldırdıktan sonra dizi:
1 2 3 4 5
İlk Dizi:
10 12 12 14 16 16 18 19 19
Kopyaları kaldırdıktan sonra dizi:
10 12 14 16 18 19
İlişkili: Birleştirme Sıralama Algoritmasına Giriş
Sıralanmış Bir Diziden Yinelenen Öğeleri Kaldırmak için JavaScript Programı
Sıralanmış bir diziden yinelenen öğeleri kaldırmak için JavaScript programı aşağıdadır:
// Sıralanmış bir diziden yinelenen öğeleri kaldırmak için JavaScript programı
// Sıralanmış bir diziden yinelenen öğeleri kaldırma işlevi
işlev removeDuplicateElements (dizi, boyut)
{
j = 0 olsun;
için (i = 0; ben < beden-1; ben++)
{
// i. eleman (i+1)'inci elemana eşit değilse,
// sonra i. değeri arr[j] içinde sakla
if (dizi[i] != dizi[i+1])
{
dizi[j] = dizi[i];
j++;
}
}
// arr'ın son değerini arr[j] içinde saklamak
dizi[j++] = dizi[boy-1];
dönüş j;
}
function printArrayElements (dizi, boyut) {
için (i=0; benbelge.write (dizi[i] + " ");
}
belge.yaz("
");
}
var arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9];
var size1 = dizi1.uzunluk;
document.write("İlk Dizi: " + "
");
printArrayElements (dizi1, size1);
document.write("Yinelenenleri kaldırdıktan sonra dizi: " + "
");
size1 = removeDuplicateElements (dizi1, size1);
printArrayElements (dizi1, size1);
var arr2 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5];
var size2 = dizi2.uzunluk;
document.write("İlk Dizi: " + "
");
printArrayElements (dizi2, boyut2);
document.write("Yinelenenleri kaldırdıktan sonra dizi: " + "
");
size2 = removeDuplicateElements (dizi2, size2);
printArrayElements (dizi2, boyut2);
var arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19];
var size3 = dizi3.length;
document.write("İlk Dizi: " + "
");
printArrayElements (dizi3, boyut3);
document.write("Yinelenenleri kaldırdıktan sonra dizi: " + "
");
size3 = removeDuplicateElements (dizi3, size3);
printArrayElements (dizi3, boyut3);
Çıktı:
İlişkili: Bir Dizede En Sık Karşılaşılan Karakter Nasıl Bulunur?
İlk Dizi:
1 1 1 2 4 6 8 8 9 9
Kopyaları kaldırdıktan sonra dizi:
1 2 4 6 8 9
İlk Dizi:
1 1 2 2 3 3 4 4 5 5
Kopyaları kaldırdıktan sonra dizi:
1 2 3 4 5
İlk Dizi:
10 12 12 14 16 16 18 19 19
Kopyaları kaldırdıktan sonra dizi:
10 12 14 16 18 19
Bir Sonraki Röportajınız İçin Dizi ve Dizi Problemlerini Alıştırma
String ve array problemleri teknik mülakatlarda en çok sorulan konular arasındadır.
Mümkün olduğunca hazırlıklı olmak istiyorsanız, bir dizinin palindrom olup olmadığının nasıl kontrol edileceği, bir dizinin palindrom olup olmadığının nasıl kontrol edileceği gibi sık sorulan bazı problemler üzerinde pratik yapmalısınız. bir anagram, bir dizide en sık bulunan karakteri bulma, bir diziyi nasıl tersine çevirebilirim, dizilere dayalı algoritmaları sıralama ve arama, bir diziyi nasıl tersine çevirebilirim, vb.
Üç farklı dilde bir dizeyi öne arkaya nasıl tersine çevireceğinizi öğrenin.
Sonrakini Oku
- Programlama
- JavaScript
- piton
- Kodlama Eğitimleri

Yuvraj, Hindistan Delhi Üniversitesi'nde Bilgisayar Bilimleri lisans öğrencisidir. Full Stack Web Geliştirme konusunda tutkulu. Yazmadığı zamanlarda farklı teknolojilerin derinliğini keşfediyor.
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Abone olmak için buraya tıklayın