BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek...
Transcript of BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek...
![Page 1: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/1.jpg)
BMÜ-111 Algoritma ve Programlama
Bölüm 5
Tek Boyutlu Diziler
Yrd. Doç. Dr. İlhan AYDIN
1
![Page 2: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/2.jpg)
Problem
100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin ortalamadan büyük olduğu bulunacaktır.
2
![Page 3: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/3.jpg)
Özet
Dizi: belirli sayıda ve aynı veri türünden değişkenlere aynı adla erişilmesini sağlayan bir yapıdır.
Dizilerde döngü işlemleri sıklıkla kullanılır. Özellikle for döngüleri dizilerle kullanılmaya çok uygundur.
Diziler tek boyutlu olabileceği gibi iki veya daha çok boyutlu da olabilirler. Matrisler iki boyutlu dizilere örnektir.
![Page 4: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/4.jpg)
Dizi isimleri ile [ ] kullanımı
1. Yeni bir tip adı oluşturmak için, örneğin int[] degerler; “int dizisi” türünde bir isim yaratır int ve int dizisi farklı türlerdir int dizisi ismin türünü belirtir, verinin türünü değil
2. Yeni bir dizi oluşturmak için: değerler= new int[100];k = new int[3]; yt = new float[7]; isimler = new String[50];
3. Dizi içindeki bir elemanı isimlendirmek için- indexlenmiş değişken de denirdeğerler[3] = giris.nextInt();
System.out.println(“Dizinin 3. elemanı" +
değerler[2]);
![Page 5: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/5.jpg)
Dizi terminolojisi
sicaklik[n + 2]
sicaklik[n + 2]
sicaklik[n + 2]
sicaklik[n + 2] = 32;
Dizi adı
Index - altsimge- int olmalıdır,
Indexli değişken – eleman veya altsimgelideğişken
indexli değişkenin değeri- dizinin bir elemanı olarak da adlandırılır
![Page 6: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/6.jpg)
Dizilerin uzunluğu
Bir dizinin uzunluğu new kullanılarak oluşturulduğu zaman parantez içinde verilir. dizinin elemanlarına (değerlerine) ne kadar hafıza ayrılacağını belirlemek için ve dizinin en fazla ne kadar eleman alabileceğini belirlemek için kullanılır elemanlara değer atanıp atanmamasına bakılmaksızın hafızada yer ayrılır
length, değişkeni kullanılarak dizinin uzunluğu öğrenilebilir :int[] sicaklik = new int[20];
System.out.println(sicaklik.length);
Dizinin uzunluğu tanımlama esnasında belirtilir ve daha sonra dizi yeniden tanımlanmadığı sürece değiştirilemez.
![Page 7: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/7.jpg)
Alt-index
Diziler sıfırdan başlayan altindexler kullanırlar◦ ilk elemanın indexi 0
◦ ikinci elemanın indexi 1
◦ n. elemanın indexi n-1
◦ son elemanın indexi length-1
Örnek:int[] scores = {97, 86, 92, 71};
index: 0 1 2 3
deger: 97 86 92 71
![Page 8: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/8.jpg)
Dizilerin Tanımlanması
8
Dizi aynı türden verilerin bir kolleksiyonunu tutatn bir veri
yapısıdır.
5.6
4.5
3.3
13.2
4
34.33
34
45.45
99.993
11123
double[] liste = new double[10];
liste referans liste[0]
liste[1]
liste[2]
liste[3]
liste[4]
liste[5]
liste[6]
liste[7]
liste[8]
liste[9]
Eleman değeri
Dizi referans
değişkeni
5. indisteki dizi
elemanı
![Page 9: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/9.jpg)
Tanımlama ve oluşturmanın tek adımda yapılması
veritipi[] diziAdi = new
veritipi[arraySize];
double[] dizi = new double[10];
veritipi diziadi[] = new
dizitipi[arraySize];
double liste[] = new double[10];
9
![Page 10: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/10.jpg)
Varsayılan değerler
Bir dizi oluşturulduğunda elemanları varsayılanolarak atanaır.
Numerik veri türleri için 0,
Char veri türleri için '\u0000',
Boolean veri türleri için false.
10
![Page 11: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/11.jpg)
İndislenmiş değişkenler
Dizi elemanlarına indis ile ulaşılır. Dizi indisi 0’dan başlarve diziadi.length-1’e kadar gider.
Dizideki her eleman aşağıdaki yazım biçimi ile gösterilir :
diziAdi[indis];
11
![Page 12: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/12.jpg)
İndisli değişkenlerin kullanımı
Bir dizi oluşturulduktan sonra bir indisli değişkendüzenli bir değişken olarak kullanılabilir. Örneğin,aşağıdaki kod liste[0] ve liste[1]’i toplayıp sonuculiste[2]’ye yazar.
liste[2] = liste1[0] + liste[1];
12
![Page 13: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/13.jpg)
Dizi Başlatmaları
Tanımlama ve oluşturmanın tek adımda yapılması:
double[] listem = {1.9, 2.9, 3.4, 3.5};
Yukarıdaki tanımlama aşağıdaki işlemi yapar.
double[] listem = new double[4];
listem[0] = 1.9;
listem[1] = 2.9;
listem[2] = 3.4;
listem[3] = 3.5;
13
![Page 14: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/14.jpg)
Dikkat
Tek adımda tanımlama ve değer atama yapılabilir. Fakat tanımladıktan sonra aşağıdaki gibi atama ifadesi yanlıştır.
double[] listem;
listem = {1.9, 2.9, 3.4, 3.5};
14
![Page 15: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/15.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
15
Degerler adında bir dizi tanımlar
Dizi oluşturulduktan sonra
0
1
2
3
4
0
0
0
0
0
Animasyon
![Page 16: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/16.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
16
i = 1
Dizi oluşturulduktan sonra
0
1
2
3
4
0
0
0
0
0
Animasyon
![Page 17: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/17.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
17
i (=1) 5’ten kucuk mu? true
Animasyon
Dizi oluşturulduktan sonra
0
1
2
3
4
0
0
0
0
0
![Page 18: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/18.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
18
Bu satır çalıştıktan sonra değerler[1]=1
Bu adımdan sonra
0
1
2
3
4
0
1
0
0
0
Animasyon
![Page 19: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/19.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
Bu adımdan sonra
0
1
2
3
4
0
1
0
0
0
19
i++ dan sonra, i =2
Animasyon
![Page 20: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/20.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
Bu adımdan sonra
0
1
2
3
4
0
1
0
0
0
20
i (= 2) ve 5’ten kucuk mu?true
Animasyon
![Page 21: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/21.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
21
Bu adım çalıştıktan sonra,
degerler[2] =3 (2 + 1)
İkinci adımdan sonra
0
1
2
3
4
0
1
3
0
0
Animasyon
![Page 22: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/22.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
22
Bu adımdan sonra i=3
Bu adımdan sonra
0
1
2
3
4
0
1
3
0
0
Animasyon
![Page 23: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/23.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
23
i (=3) 3<5 true
İkinci adımdan sonra
0
1
2
3
4
0
1
3
0
0
Animasyon
![Page 24: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/24.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
24
Bu satırdan sonra, degerler[3] =6 (3 + 3)
Ucuncu adımdan sonra
0
1
2
3
4
0
1
3
6
0
Animasyon
![Page 25: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/25.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
25
Bu adımdan sonra i=4
Ucuncu adımdan sonra
0
1
2
3
4
0
1
3
6
0
Animasyon
![Page 26: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/26.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
26
i (=4) 5’ten kucuk mu?true
Ucuncu adımdan sonra
0
1
2
3
4
0
1
3
6
0
Animasyon
![Page 27: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/27.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
27
Bu adımdan sonra, degerler[4] =10 (4 + 6)
Dorduncu adımdan sonra
0
1
2
3
4
0
1
3
6
10
Animasyon
![Page 28: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/28.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
Dorduncu adımdan sonra
0
1
2
3
4
0
1
3
6
10
28
i++ işleminden sonra i=5
Animasyon
![Page 29: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/29.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
Dorduncu adımdan sonra
0
1
2
3
4
0
1
3
6
10
29
i ( =5) < 5 ? false . Donguden cik
Animasyon
![Page 30: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/30.jpg)
Diziler ile ilgili örnek
public class Test {
public static void main(String[] args) {
int[] degerler = new int[5];
for (int i = 1; i < 5; i++) {
degerler[i] = i + degerler[i-1];
}
degerler[0] = degerler[1] + degerler[4];
}
}
30
Bu satırdan sonra, degerler[0]= 11 (1 + 10)
0
1
2
3
4
11
1
3
6
10
Animasyon
![Page 31: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/31.jpg)
Dizilerin işlenmesi
1. (Degerler dizisine klavyeden giriş)
2. (Rastgele değerler ile değerler dizisini başlatma)
3. (Dizi elemanlarını ekrana yazdırma)
4. (Elemanların toplamı)
5. (En büyük elemanı bulma)
6. (En büyük elemanın en düşük indisini bulma)
7. (Rastgele değiştirme)
8. (Elemanları kaydırma)
31
![Page 32: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/32.jpg)
Degerler dizisine klavyeden giriş
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print(" listem dizisine" + listem.length + " eleman gir ");
for (int i = 0; i < listem.length; i++)
listem[i] = input.nextDouble();
32
![Page 33: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/33.jpg)
Rastgele değerler ile listem dizisini başlatma
for (int i = 0; i < listem.length; i++) {
listem[i] = Math.random() * 100;
}
33
![Page 34: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/34.jpg)
Dizi elemanlarını ekrana yazdırma
for (int i = 0; i < listem.length; i++) {
System.out.print(listem[i] + " ");
}
34
![Page 35: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/35.jpg)
Elemanların toplamı
double top = 0;
for (int i = 0; i < listem.length; i++) {
top += listem[i];
}
35
![Page 36: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/36.jpg)
En büyük elemanı bulma
double maks = listem[0];
for (int i = 1; i < listem.length; i++) {
if (listem[i] > maks) maks = listem[i];
}
36
![Page 37: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/37.jpg)
Rastgele değiştirme
37
for (int i = 0; i < listem.length; i++) {
// Rastgele indis uret
int index = (int)(Math.random()
* listem.length);
// listem[i]ile listem[j] I yer değiştir
double temp = listem[i];
listem[i] = listem[index];
listem[index] = temp;
}
listemt
[0]
[1]
.
.
.
[indis]
Rastgele bir indis
i
Yer
degistir
![Page 38: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/38.jpg)
Elemanların kaydırılması
38
double temp = listem[0]; // ilk elemanı ata
// Elemanları sola kaydır
for (int i = 1; i < listem.length; i++) {
listem[i - 1] = listem[i];
}
// ilk elemanı sona taşı
listem[listem.length - 1] = temp;
listem
![Page 39: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/39.jpg)
Genişletilmiş for döngüsü (for-each Döngüsü)
JDK 1.5 ile yeni bir for döngüsü geliştirilmiştir. Bu döngü indis değişkeni kullanmadan bütün elemanlara ardışık olarak ulaşmanızı sağlar. :
for (double deger: listem)
System.out.println(deger);
Genel yazım bicimi
for (tip degsikenadi: dizi adi) {
// değişkeni isle
}
39
![Page 40: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/40.jpg)
Dizilerin kopyalanmasıBir programda sık sık bir dizinin tamamını veya bir bölümünü kopyalamanız gerekebilir. Bu durumda = operatörünü kullanabilirsiniz
liste2 = liste1;
40
list1 in
içeriği
liste1
Liste2 nin
içeriği
liste2
liste2 = liste1; işleminden
önce
list1 in
içeriği
liste1
list2 nin
içeriği
liste2
list2 = list1; komutundan
sonra
Çöp
![Page 41: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/41.jpg)
Dizilerin kopyalanması
Döngü ile:
int[] liste1= {2, 3, 1, 5, 10};
int[] liste2= new int[liste1.length];
for (int i = 0; i < liste1.length; i++)
liste2[i] = liste1[i];
41
![Page 42: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/42.jpg)
Diziyi ters cevirme örneğiint[] liste1 = {1, 2, 3, 4, 5, 6};
int[] sonuc = reverse(liste1);
42
int[] sonuc = new int[list.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = list[i];
}
}
liste1 1 2 3 4 5 6
0 0 0 0 0 0
Sonuc dekiskenini tanimla
Animasyon
sonuc
![Page 43: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/43.jpg)
Diziyi ters cevirme örneğiint[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
43
public static int[] reverse(int[] list) {
int[] sonuc = new int[list.length];
for (int i = 0, j = sonuc.length - 1;
i < list.length; i++, j--) {
sonuc[j] = list[i];
}
return sonuc;
}
list
sonuc
1 2 3 4 5 6
0 0 0 0 0 0
i = 0 ve j = 5
Animasyon
![Page 44: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/44.jpg)
Diziyi ters cevirme örneği, cont.int[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
44
int[] sonuc = new int[list.length];
for (int i = 0, j = sonuc.length - 1;
i < list.length; i++, j--) {
sonuc[j] = list[i];
}
return sonuc;
}
list
sonuc
1 2 3 4 5 6
0 0 0 0 0 0
i (= 0) <6 mı? true
Animasyon
![Page 45: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/45.jpg)
Diziyi ters cevirme örneğiint[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
45
int[] sonuc = new int[list.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
}
liste1
sonuc
1 2 3 4 5 6
0 0 0 0 0 1
i = 0 and j = 5
sonuc[5]=liste1 [0]
Animasyon
![Page 46: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/46.jpg)
Diziyi ters cevirme örneği.int[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
46
int[] sonuc = new int[list.length];
for (int i = 0, j = sonuc.length - 1;
i < list.length; i++, j--) {
sonuc[j] = list[i];
}
return sonuc;
}
liste1
sonuc
1 2 3 4 5 6
0 0 0 0 0 1
Bu adımdan sonra, i=1 ve
j= 4
Animasyon
![Page 47: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/47.jpg)
Diziyi ters cevirme örneğiint[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
47
int[] sonuc = new int[liste1.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
return sonuc;
}
liste1
sonuc
1 2 3 4 5 6
0 0 0 0 0 1
i (=1) <6? true
Animasyon
![Page 48: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/48.jpg)
Diziyi ters cevirme örneğiint[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
48
int[] sonuc = new int[list.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
}
liste1
sonuc
1 2 3 4 5 6
0 0 0 0 2 1
i = 1 ve j = 4
sonuc[4]=liste1[1]
Animasyon
![Page 49: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/49.jpg)
Diziyi ters cevirme örneği, cont.int[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
49
int[] sonuc = new int[liste1.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
}
liste1
sonuc
1 2 3 4 5 6
0 0 0 0 2 1
i=2 ve j=3
Animasyon
![Page 50: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/50.jpg)
Diziyi ters cevirme örneği, cont.int[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
50
public static int[] reverse(int[] list) {
int[] sonuc = new int[liste1.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
return sonuc;
}
list
sonuc
1 2 3 4 5 6
0 0 0 0 2 1
i (=2) <6? true
Animasyon
![Page 51: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/51.jpg)
Diziyi ters cevirme örneğiint[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
51
public static int[] reverse(int[] list) {
int[] sonuc = new int[list.length];
for (int i = 0, j = sonuc.length - 1;
i < list.length; i++, j--) {
sonuc[j] = list[i];
}
return sonuc;
}
list
sonuc
1 2 3 4 5 6
0 0 0 3 2 1
i = 2 and j = 3
sonuc[j]=liste[i]
Animasyon
![Page 52: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/52.jpg)
Diziyi ters cevirme örneğiint[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
52
int[] sonuc = new int[liste1.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
}
liste1
sonuc
1 2 3 4 5 6
0 0 0 3 2 1
i=3 ve j=2
Animasyon
![Page 53: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/53.jpg)
Diziyi ters cevirme örneğiint[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
53
int[] sonuc = new int[liste1.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
}
liste1
sonuc
1 2 3 4 5 6
0 0 0 3 2 1
i (=3) <6 ? true
Animasyon
![Page 54: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/54.jpg)
Diziyi ters cevirme örneğiint[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
54
int[] sonuc = new int[liste1.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
}
liste1
sonuc
1 2 3 4 5 6
0 0 4 3 2 1
i = 3 ve j = 2
sonuc[j]=liste1[i]
Animasyon
![Page 55: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/55.jpg)
Diziyi ters cevirme örneğiint[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
55
public static int[] reverse(int[] list) {
int[] sonuc = new int[list.length];
for (int i = 0, j = sonuc.length - 1;
i < list.length; i++, j--) {
sonuc[j] = list[i];
}
return sonuc;
}
list
sonuc
1 2 3 4 5 6
0 0 4 3 2 1
Bu adımdan sonra i=4 ve
j=1
Animasyon
![Page 56: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/56.jpg)
Diziyi ters cevirme örneği, cont.int[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
56
public static int[] reverse(int[] list) {
int[] sonuc = new int[list.length];
for (int i = 0, j = sonuc.length - 1;
i < list.length; i++, j--) {
sonuc[j] = list[i];
}
return sonuc;
}
list
sonuc
1 2 3 4 5 6
0 0 4 3 2 1
i (=4) <6? true
Animasyon
![Page 57: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/57.jpg)
Diziyi ters cevirme örneği, cont.int[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
57
public static int[] reverse(int[] list) {
int[] sonuc = new int[list.length];
for (int i = 0, j = sonuc.length - 1;
i < list.length; i++, j--) {
sonuc[j] = list[i];
}
return sonuc;
}
list
sonuc
1 2 3 4 5 6
0 5 4 3 2 1
i = 4 ve j = 1
sonuc[j]=liste1[i]
Animasyon
![Page 58: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/58.jpg)
Diziyi ters cevirme örneğiint[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
58
int[] sonuc = new int[liste1.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
}
liste1
sonuc
1 2 3 4 5 6
0 5 4 3 2 1
Bu adımdan sonra, i=5 ve
j00
Animasyon
![Page 59: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/59.jpg)
Diziyi ters cevirme örneğiint[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
59
int[] sonuc = new int[liste1.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
}
liste1
sonuc
1 2 3 4 5 6
0 5 4 3 2 1
i (=5) <6? true
Animasyon
![Page 60: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/60.jpg)
Diziyi ters cevirme örneği, cont.int[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
60
int[] sonuc = new int[list.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
}
list
sonuc
1 2 3 4 5 6
6 5 4 3 2 1
i = 5 ve j = 0
sonuc[j]=liste1[i]
Animasyon
![Page 61: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/61.jpg)
Diziyi ters cevirme örneği, cont.int[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
61
int[] sonuc = new int[liste1.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
}
liste1
sonuc
1 2 3 4 5 6
6 5 4 3 2 1
i=6 ve j=-1 olur
Animasyon
![Page 62: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/62.jpg)
Diziyi ters cevirme örneği, cont.int[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
62
public static int[] reverse(int[] list) {
int[] sonuc = new int[list.length];
for (int i = 0, j = sonuc.length - 1;
i < list.length; i++, j--) {
sonuc[j] = list[i];
}
return sonuc;
}
liste1
sonuc
1 2 3 4 5 6
6 5 4 3 2 1
i (=6) < 6 ? false.
Döngüden çık
Animasyon
![Page 63: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/63.jpg)
Diziyi ters cevirme örneği, cont.int[] liste1 = new int[]{1, 2, 3, 4, 5, 6};
int[] sonuc;
63
int[] sonuc = new int[liste1.length];
for (int i = 0, j = sonuc.length - 1;
i < liste1.length; i++, j--) {
sonuc[j] = liste1[i];
}
}
liste1
sonuc
1 2 3 4 5 6
6 5 4 3 2 1
Döngü sonu
Animasyon
![Page 64: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/64.jpg)
Dizilerde Arama
Arama verilen bir elemanın dizide var olup olmadığına bakılması işlemidir
Bu işlem bilgisayar programlamada ortak bir görevdir.
Burada iki yöntemden bahsedeceğiz:
Ardışık arama
İkili arama
64
![Page 65: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/65.jpg)
Ardışık arama
65
6 4 1 9 7 3 2 8
6 4 1 9 7 3 2 8
6 4 1 9 7 3 2 8
6 4 1 9 7 3 2 8
6 4 1 9 7 3 2 8
6 4 1 9 7 3 2 8
3
3
3
3
3
3
Animasyon
Aranan Dizi
![Page 66: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/66.jpg)
Ardışık arama
66
![Page 67: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/67.jpg)
İkili Arama
İkili arama sıralı diziler üzerinde çalışır.
Dizi küçükten veya büyükten küçüğe büyüğe sıralıdır..
örneğin, 2 4 7 10 11 45 50 59 60 66 69 70 79
İkili arama ilk olarak aranan elemanı dizinin ortasındaki eleman ile karşılaştırılır.
Eğer aranan ortadan küçük ise, dizinin ilk yarısından arama devam eder..
Eğer eşit ise arama eşleşme ile sonlanır.
Eğer eleman orta elemandan büyükse, dizinin ikinci yarısında elemanı ara.
67
![Page 68: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/68.jpg)
İkili Arama
68
1 2 3 4 6 7 8 9
1 2 3 4 6 7 8 9
1 2 3 4 6 7 8 9
8
8
8
Aranan Liste1
Animasyon
![Page 69: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/69.jpg)
İkili Arama
69
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
2 4 7 10 11 45 50 59 60 66 69 70 79
key = 11
key < 50
list
mid
[0] [1] [2] [3] [4] [5]
key > 7
key == 11
high low
mid high low
list
[3] [4] [5]
mid high low
list
2 4 7 10 11 45
10 11 45
![Page 70: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/70.jpg)
İkili Arama
70
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
2 4 7 10 11 45 50 59 60 66 69 70 79
key = 54
key > 50
list
mid
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
key < 66
key < 59
high low
mid high low
list
[7] [8]
mid high low
list
59 60 66 69 70 79
59 60
[6] [7] [8]
high low
59 60
![Page 71: BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek …web.firat.edu.tr/iaydin/bmu111/bmu111_bolum5.pdfDizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin](https://reader030.fdocument.pub/reader030/viewer/2022021723/5c7b2ec009d3f236078cc75d/html5/thumbnails/71.jpg)
İkili Arama
71