Veri Yapısında Dizi: Diziler Nedir? Opera[Örnekler]
Veri Yapısında Dizi Nedir?
An dizi Benzer veri tipine sahip birden fazla veri öğesinin depolanmasına yönelik bir veri yapısıdır. Bir dizinin öğeleri bitişik bellek konumlarına tahsis edilir. Bu hafıza konumlarına denir elemanları bu diziden. Bir dizideki toplam eleman sayısına denir uzunluk.
Bir dizinin ayrıntılarına konumu hakkında erişilir. Bu referansa denir indeks or altindis.
Dizi Kavramı

Yukarıdaki diyagram şunu göstermektedir:
- Dizi, öğelerin bulunduğu bir kaptır.
- Öğelerin "ABC", DOĞRU veya YANLIŞ vb. gibi belirli bir değeri ve veri türü vardır.
- Her öğenin ayrıca öğeye erişmek için kullanılan kendi dizini vardır.
Not:
- Öğeler bitişik bellek konumlarında saklanır.
- Bir dizin her zaman dizi öğelerinin toplam sayısından azdır.
- Sözdizimi açısından, dizi olarak bildirilen herhangi bir değişken birden fazla değeri saklayabilir.
- Hemen hemen tüm diller aynı dizi anlayışına sahiptir ancak bunları bildirme ve başlatmanın farklı yolları vardır.
- Bununla birlikte, tüm başlatmalarda üç parça her zaman ortak kalacaktır; yani dizi adı, öğeler ve öğelerin veri türü.
Aşağıdaki diyagram bir bildirimin sözdizimini göstermektedir dizi Python ve C++ söz dizimi farklı dillerde biraz farklılık gösterse de anlamanın aynı kaldığını sunmak.
- Dizi adı: elemanların koleksiyonuna kolay referans için gerekli
- Veri tipi: tip kontrolü ve veri bütünlüğü için gerekli
- Elemanları: bunlar bir dizide bulunan veri değerleridir
Neden dizilere ihtiyacımız var?
Veri yapısında dizilerin kullanılmasının bazı nedenleri şunlardır:
- Diziler birden fazla değeri tek bir değişkende depolamak için en iyisidir
- Diziler birçok değeri kolay ve hızlı bir şekilde işleme konusunda daha iyidir
- Dizilerde değerleri sıralamak ve aramak daha kolaydır
Bir Dizi Oluşturma Python
In Pythondiziler listelerden farklıdır; listeler veri türünden dizi öğelerine sahip olabilirken diziler yalnızca aynı veri türünden öğelere sahip olabilir.
Python dizi adı verilen dizileri işlemek için üzerinde çalışmaya başlamadan önce içe aktarmanız gereken ayrı bir modüle sahiptir.
Not: Dizi, tamsayılar ve kayan noktalı sayılar gibi gerçek sayıları içermelidir; dizelere izin verilmez.
Aşağıdaki kod, hesap bakiyesini saklamak için Python'da bir tamsayı dizisinin nasıl oluşturulacağını göstermektedir:
import array
balance = array.array('i', [300,200,100])
print(balance)
Dizi Bildirmenin Yolları Python
İçinde bir dizi bildirebilirsiniz Python Aşağıdaki sözdizimini kullanarak başlatırken.
arrayName = array.array(type code for data type, [array,items])
Aşağıdaki resimde sözdizimi açıklanmaktadır.
- Tanımlayıcı: genellikle değişkenler için yaptığınız gibi bir ad belirtin
- modül: Python Diziler oluşturmak için "dizi" adı verilen özel bir modül vardır; kullanmadan önce onu içe aktarmanız gerekir
- Yöntem: dizi modülü diziyi başlatmak için bir yönteme sahiptir. İki bağımsız değişken, tip kodu ve öğeler alır.
- Tür kodu: mevcut tür kodlarını kullanarak veri türünü belirtin (aşağıdaki listeye bakın)
- Elements: köşeli parantez içindeki dizi öğelerini belirtin, örneğin [130,450,103]
Aşağıdaki tablo desteklenen veri türleri için kullanılabilen tür kodlarını göstermektedir:
| Tür kodu | C Tipi | Python Menşei | Bayt cinsinden minimum boyut |
|---|---|---|---|
| 'C' | tank | karakter | 1 |
| 'B' | imzasız karakter | int | 1 |
| 'b' | imzalı karakter | int | 1 |
| 'sen' | Py_UNICODE | Unicode karakter | 2 |
| 'H' | kısa imzalı | int | 2 |
| 'H' | imzasız kısa | int | 2 |
| 'ben' | imzalı int | int | 2 |
| 'BEN' | imzasız int | ve kazandırdı | 2 |
| 'L' | uzun imzalı | int | 4 |
| 'L' | imzasız uzun | ve kazandırdı | 4 |
| 'F' | şamandıra | şamandıra | 4 |
| 'd' | çift | şamandıra | 8 |
Belirli bir dizi değerine nasıl erişilir?
Herhangi bir dizi öğesine onun indeksini kullanarak erişebilirsiniz.
Sözdizimi
arrayName[indexNum]
Örnek:
balance[1]
Aşağıdaki resimde dizi öğelerine indekslerine göre erişmenin temel konsepti gösterilmektedir.
Burada dizinin indeksi olan 1'i kullanarak ikinci değerine ulaşmış olduk. Bunun çıktısı ise temel olarak dengeli dizinin ikinci değeri olan 200 olacaktır.
import array
balance = array.array('i', [300,200,100])
print(balance[1])
ÇIKTI
200
Dizi Operaleri
Dizi modülü Python dizi işlemlerini gerçekleştirmek için ayrı işlevlere sahiptir. Bu, dizilerle çalışmanın yıkıcı bir yöntemidir, yani değişiklik dizi değişkeninde kaydedilecektir.
Ekle
Bu işlemle, bir dizinin başına, sonuna veya herhangi bir indeksine bir veya daha fazla öğe ekleyebilirsiniz. Bu yöntem iki argüman indeksi ve değeri bekler.
Sözdizimi
arrayName.insert(index, value)
Örnek:
Dizinin ikinci öğesinin hemen sonrasına yeni bir değer ekleyelim. Şu anda denge dizimizde 300, 200 ve 100 olmak üzere üç öğe bulunmaktadır. Peki 200 dediyseniz 1 değerine sahip ikinci dizi öğesinin dizini nedir?
Yeni değeri indeks 1'den hemen sonra eklemek için, ekleme yönteminizde indeks 2'ye şu şekilde başvurmanız gerekir:
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
Şimdi yeni değerin eklenip eklenmediğini doğrulamak için dizi adını girin ve klavyede Enter tuşuna basın:
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
ÇIKTI
array('i', [300,200,150,100])
Sil
Bu işlemle bir diziden değere göre bir öğeyi silebilirsiniz. Bu yöntem yalnızca bir argümanı kabul eder; değer. Bu yöntemi çalıştırdıktan sonra dizi öğeleri yeniden düzenlenir ve indeksler yeniden atanır.
Sözdizimi
arrayName.remove(value)
Örnek:
150 değerini diziden kaldıralım. Şu anda, denge dizimizde 300, 200, 150 ve 100 olmak üzere dört öğe bulunmaktadır. Dolayısıyla, diziden 150'yi kaldırmak için yöntem argümanının içine yalnızca 150 yazmamız yeterlidir. Basit, değil mi?
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
balance.remove(150)
Şimdi değerin silinip silinmediğini doğrulamak için dizi adını girin ve klavyede Enter tuşuna basın:
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
balance.remove(150)
print(balance)
ÇIKTI
array('i', [300,200,100])
ARAMA
Bu işlemle bir dizideki bir öğeyi değerine göre arayabilirsiniz. Bu yöntem yalnızca bir argümanı kabul eder; değer. Bu, tahribatsız bir yöntemdir, yani dizi değerlerini etkilemez.
Sözdizimi
arrayName.index(value)
Örnek:
Dizide 150 değerini arayalım. Şu anda denge dizimizde 300, 200, 150 ve 100 olmak üzere dört öğe bulunmaktadır. Dolayısıyla dizide 150'yi aramak için yöntem argümanının içine yalnızca 150 yazmamız yeterlidir. Bu oldukça kolay. Bu yöntem aranan değerin indeksini döndürür.
import array
balance = array.array('i', [300,200,150,100])
print(balance.index(150))
ÇIKTI
2
GÜNCELLEME
Bu işlem, verilen dizindeki mevcut değerin yerini alması dışında ekleme yöntemine oldukça benzer. Bu, verilen dizine basitçe yeni bir değer atayacaktır anlamına gelir. Bu yöntem iki argüman indeksi ve değeri bekler.
Sözdizimi
arrayName.udpate(index, value)
Örnek:
Dizimizin 300, 200, 150 ve 100 olmak üzere dört öğesi olduğunu ve 150'yi 145 ile değiştirmek istediğimizi varsayalım. Peki 150 endeksi nedir?
2 dediysen tebrik ederim.
Dizin 150'ye sahip 2'yi değiştirmek için, bunun gibi basit atama operatörünü kullanarak dizin 2'ye başvurmanız gerekir:
import array
balance = array.array('i', [300,200,150,100])
balance[2] = 145
Şimdi değerin güncellenip güncellenmediğini doğrulamak için dizi adını girin ve klavyede Enter tuşuna basın:
import array
balance = array.array('i', [300,200,150,100])
balance[2] = 145
print(balance)
ÇIKTI
array('i', [300,200,145,100])
çapraz
Bir python dizisinde bunun gibi döngüler kullanarak geçiş yapabilirsiniz:
import array
balance = array.array('i', [300,200,100])
for x in balance:
print(x)
ÇIKTI
300 200 100
Bir Dizi Oluşturma C++
C++ dil daha esnektir Python diziler oluşturmaya gelince. Yaratabilirsin C++ diziler yukarıda belirtilen üç şekilde.
Aşağıdaki kod, bir tamsayı dizisinin nasıl oluşturulacağını göstermektedir C++ hesap bakiyesini saklamak için:
#include <iostream>
using namespace std;
int main()
{
int balance[3] = { 300, 200, 100 };
for (int i = 0; i < 3; i++)
{
cout << "value of i: " << balance[i] << endl;
}
return 0;
}
Dizi Bildirmenin Yolları C++
Bir diziyi üç sözdizimi değişkeninde bildirebilirsiniz. Programınıza hangisi uygunsa; bu seçim program gereksinimlerinize dayanmaktadır.
Boyuta Göre Beyanı
Sözdizimi
dataType arrayName[arraySize];
Örnek:
int balance[3];
Yalnızca Bildirim Başlatma Dizisi Öğeleri
Sözdizimi
dataType arrayName[] = {array, items};
Örnek:
int balance[] = { 300, 200, 100 };
Boyuta ve Başlatma Dizisi Öğelerine Göre Bildirim
Sözdizimi
dataType arrayName[arraySize] = {array, items};
Örnek:
int balance[3] = { 300, 200, 100 };
Belirli bir dizi değerine nasıl erişilir?
Herhangi bir dizi öğesine onun indeksini kullanarak erişebilirsiniz.
Sözdizimi
arrayName[indexNum]
Örnek:
balance[1]
Aşağıdaki resimde dizi öğelerine indekslerine göre erişmenin temel konsepti gösterilmektedir.
Burada dizinin ikinci değerine yani 1'e indeksini kullanarak ulaşmış olduk. Bunun çıktısı ise denge dizisinin temel olarak ikinci değeri olan 200 olacaktır.
#include <iostream>
using namespace std;
int main()
{
int balance[3] = { 300, 200, 100 };
cout << balance[1];
return 0;
}
Çıktı
200
Dizi Operaiçindekiler C++
aksine Python, içinde C++ ekleme, silme, arama güncelleme ve gezinme işlemlerini gerçekleştirmek için mantığı kendiniz programlamanız gerekir C++ diziler.
Ekle
Ekleme işleminin mantığı şu şekildedir:
- dizi öğeleri arasında döngü yapın
- onları daha büyük bir indekse kaydır
- belirli bir dizine yeni bir dizi öğesi ekleyin
Aşağıdaki örnekte, balance dizisinde 5 öğemiz var ve 200 değerinden hemen sonra yeni bir öğe eklemek istiyoruz. Bu, 200'den sonraki tüm öğeleri daha büyük bir dizine kaydırmamız ve ardından 150'lik yeni değerimizi eklememiz gerektiği anlamına gelir.
#include <iostream>
#include <stdio.h>
main() {
int pos = 2;
int size = 4;
int balance[] = {300,200,100,50,0};
printf("BEFORE INCREMENT: \n");
for(int i = 0; i<5; i++) {
printf("%d\n",balance[i]);
}
/* FOR SHIFTING ITEMS TO A GREATER INDEX */
for(int i = size; i >= pos; i--) {
balance[i+1]=balance[i];
}
/* FOR INSERTING VALUE AT OUR DESIRED INDEX */
balance[pos] = 150;
printf("AFTER INCREMENT: \n");
/* FOR PRINTING THE NEW ARRAY */
for(int i = 0; i<6; i++) {
printf("%d\n",balance[i]);
}
}
Çıktı
BEFORE INCREMENT 300 200 100 50 0 AFTERINCREMENT 300 200 150 100 50 0
Dizi Operaiçindekiler Java
İçinde bir programlama oluşturalım JavaBu da dizi programı Java Dizi elemanlarının boyutunu ve değerini kullanıcıdan kabul edeceğiz.
import java.util.Scanner;
public class AddElements {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("Enter the size of the array");
int n=sc.nextInt();
int arr[]=new int[n];
System.out.println("Enter Elements in the array");
for(int i=0;i<n;i++)
{
arr[i]=sc.nextInt();
}
System.out.println("Elements in the array");
for(int j=0;j<n;j++)
{
System.out.print(arr[j]+" ");
}
}
}
Çıktı:-
Enter the size of the array 5 Enter Elements in the array 1 2 3 4 5 Elements in the array 1 2 3 4 5
Dizideki Öğeyi Değiştirin: -
Bir öğeyi verilen dizine göre güncelleyin.
Programda Java Bir dizideki öğelerin nasıl değiştirileceği hakkında
import java.util.Scanner;
public class ModifyElement {
public static void main(String[] args) {
int arr[]={1,2,3,4,5};
int length= arr.length;
Scanner sc=new Scanner(System.in);
System.out.println("Array Elements Before modify");
for(int i=0;i<length;i++)
{
System.out.print(arr[i]+" ");
}
System.out.println("\nEnter the position where you want to change in an array");
int pos=sc.nextInt();
System.out.println("Enter the value");
int val=sc.nextInt();
arr[pos]=val;
System.out.println("Array Elements After modify");
for(int j=0;j<length;j++)
{
System.out.print(arr[j]+" ");
}
}
}
Çıktı:-
Array Elements Before modify 1 2 3 4 5 Enter the position where you want to change in an array 2 Enter the value 8 Array Elements After modify 1 2 8 4 5
Dizideki Erişim Öğesi: -
Tüm dizi öğelerini yazdırın.
Programda Java dizide gezinme nasıl yapılır
public class AccessElements {
public static void main(String[] args) {
int arr[]={1,2,3,4,5};
int length= arr.length;
System.out.println("Array Elements are:-");
for(int i=0;i<length;i++)
{
System.out.print(arr[i]+" ");
}
}
}
Çıktı:-
Array Elements are:- 1 2 3 4 5
ÖZET
- Dizi, benzer veri türüne sahip birden fazla veri öğesini depolamak için kullanılan bir veri yapısıdır
- Tanımlayıcı, veri türü, dizi uzunluğu, öğeler ve dizin bir dizinin ana parçalarıdır
- Dizi öğelerinin değerlerini işlemek için dizini kullanın
- Diziler, veri türünü olduğu gibi tutmak için mükemmel desteğe sahiptir
- Çoğu dilde bir dizi, bir tanımlayıcı, veri türü ve dahil edilecek öğeler belirtilerek oluşturulur.
- Diziler, çok sayıda değeri işlemek ve hızlı sıralama ve arama yapmak için en iyisidir
- Python ekleme, silme, arama, güncelleme ve gezinme gibi temel dizi işlemlerini gerçekleştirmek için modüllere ve yerleşik yöntemlere sahiptir
- C++ ekleme, silme, arama, güncelleme ve gezinme gibi temel dizi işlemleri için program tanımlamaya ihtiyaç duyar
