38
2006 Pearson Education, Inc. All rights rese Görsel C# Programlama Güz 2009 (6. Hafta)

Görsel C # Programlama Güz 200 9 (6. Hafta)

  • Upload
    hedy

  • View
    48

  • Download
    0

Embed Size (px)

DESCRIPTION

Görsel C # Programlama Güz 200 9 (6. Hafta). Diziler (Arrays). Diziler (arrays), ayn ı veri tipine sahip birden fazla veriyi b ü nyelerinde saklayan veri yap ı lar ı d ı r . (Data Structures) - PowerPoint PPT Presentation

Citation preview

Page 1: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

Görsel C# Programlama

Güz 2009

(6. Hafta)

Page 2: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

Diziler (Arrays)

• Diziler (arrays), aynı veri tipine sahip birden fazla veriyi bünyelerinde saklayan veri yapılarıdır. (Data Structures)

• Değişkenler içerisinde yalnız bir tek bilgi depolarken dizileri kullanarak aynı türden birden fazla bilgiyi saklayabiliriz.

• Programımız içerisinde kullanacağımız 100 adet tamsayıyı 100 farklı değişken içinde saklamak yerine bu amaçla içinde 100 tamsayı saklı bir dizi kullanmak daha mantıklıdır.

Page 3: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

3

c bu dizinin adıdır.c.Length bize dizinin kaç elemana sahip olduğunu söyler.c dizisi 12 elemana sahiptir. ( c[0], c[1], … c[11] )[ ] sayesinde dizinin elemanlarına ulaşırız. (indeks)

Page 4: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

4

İndeks (Index)

• İndeks dizi elemanlarına ulaşmamızı sağlayan pozisyon numarasıdır.

• İndeks ya pozitif bir tamsayı ya da tamsayılarla ilgili bir deyim olabilir.

• Dizilerin ilk elemanının indeksi daima SIFIR dır.

a = 5;b = 6;

c[ a + b ] += 2;

deyimi c dizisinin c[ 11 ] elemanının içeriğine 2 ekler.

Page 5: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

!!! Dikkat !!!

Dizilerin indeks numaraları sıfırdan başladığı için, c[7] ile bu dizinin yedinci elemanı farklı şeyleri ifade eder. c[7] normalde dizinin sekizinci elemanıdır.

Page 6: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

6

Dizilerin Deklare Edilmesi ve Oluşturulması

• Diziler bellekte yer kaplayan nesnelerdir. (objects)• Diziler new anahtar kelimesiyle bellekte dinamik olarak

oluşturulurlar. • int[] c = new int[ 12 ]; // Aynı anda deklare et ve olustur

• Veya int[] c; // once deklare et c = new int[ 12 ]; // sonra olustur

Page 7: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

7

Hatırlatma

• C++’ tan farklı olarak C#’ ta dizi deklare ederken boyutu köşeli parantezler içerisinde girmek bir derleyici hatasına sebep olur. (Örneğin, int[ 12 ] c;)

Page 8: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

8

Dizilerle İşlemler

1. Dizinin deklarasyonu2. Dizinin oluşturulması3. Dizi elemanlarına ilk değer atanması4. Dizinin manipulasyonu

Page 9: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

9 1 // InitArray.cs 2 // Creating an array. 3 using System; 4 5 public class InitArray 6 { 7 public static void Main( string[] args ) 8 { 9 int[] array; // declare array named array 10 11 // create the space for array and initialize to default zeros 12 array = new int[ 10 ]; // 10 int elements 13 14 Console.WriteLine( "{0}{1,8}", "Index", "Value" ); // headings 15 16 // output each array element's value 17 for ( int counter = 0; counter < array.Length; counter++ ) 18 Console.WriteLine( "{0,5}{1,8}", counter, array[ counter ] ); 19 } // end Main 20 } // end class InitArray Index Value 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0

InitArray.cs

Declare array as an array of ints

Create 10 ints for array; each int is initialized to 0 by default

array.Length returns length of array

array[counter] returns int associated with index in array

Each int is initialized to 0 by default

Page 10: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

10

İlk Değer Atama Listeleri (Initializer Lists)

• Dizi elemanlarına atanacak ilk değerler { } arasına birbirlerinden virgülle ayrılarak yazılırlar.

int[] n = { 10, 20, 30, 40, 50 };• değimi n adında, içerisinde 5 tamsayı saklayan bir dizi oluşturur.• Dizi elemanlarının indeks değerleri : 0, 1, 2, 3, 4

• İlk değer atama listeleri kullanıldığında new anahtar kelimesine gerek yoktur. Derleyici dizinin boyutu olarak girilen değerlerin sayısını kullanır.

Page 11: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

11 1 // InitArray.cs 2 // Initializing the elements of an array with an array initializer. 3 using System; 4 5 public class InitArray 6 { 7 public static void Main( string[] args ) 8 { 9 // initializer list specifies the value for each element 10 int[] array = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 }; 11 12 Console.WriteLine( "{0}{1,8}", "Index", "Value" ); // headings 13 14 // output each array element's value 15 for ( int counter = 0; counter < array.Length; counter++ ) 16 Console.WriteLine( "{0,5}{1,8}", counter, array[ counter ] ); 17 } // end Main 18 } // end class InitArray Index Value 0 32 1 27 2 64 3 18 4 95 5 14 6 90 7 70 8 60 9 37

InitArray.cs

Declare array as an array of ints

Compiler uses initializer list to allocate array

Page 12: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

• Bu başlık sizlere de ilginç geldi mi? (Oxymoron)• Bu tür değişkenler “const” anahtar kelimesi ile deklare

edilirler. • Sadece okunabilir değişkenler (read-only variables)

olarak da adlandırılırlar.• Bu tür değişkenlere, deklare edildikleri anda muhakkak

bir ilk değer ataması yapılır ve bu değer daha sonra değiştirilemez.

• Sabit değişken tanımlamak ve bunu dizilerin boyutu olarak kullanmak genel olarak tercih edilen bir yoldur.

Sabit Değişkenler (Constant Variables)

Page 13: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

Sabit Değişkenler (Constant Variables)

• Sabit değişkenleri diğer değişkenlerden ayırtedebilmek için kullanılabilecek bir notasyon: Sabit değişken isimlerinin bütün karakterlerini büyük harfle yaz, değişken ismi birden fazla kelimeden oluşuyorsa kelimeleri birbirinden alt çizgilerle ayır.

• ÖRNEK: const int DIZI_BOYUTU;

Page 14: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

14

Hatırlatma• Deklare edilmiş ve ilk değer atanmış bir sabit değişkene

yeni bir değer atamaya çalışmak derleyici hatası verir. •Örnek:

• const int DIZI_BOYUTU=10;• DIZI_BOYUTU=11;

• Sabit bir değişkeni ilk değer atamadan deklare etmeye çalışmak derleyici hatası verir.• Örnek:

• const int DIZI_BOYUTU;• DIZI_BOYUTU=10;

Page 15: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

15 1 // InitArray.cs 2 // Calculating values to be placed into the elements of an array. 3 using System; 4 5 public class InitArray 6 { 7 public static void Main( string[] args ) 8 { 9 const int ARRAY_LENGTH = 10; // create a named constant 10 int[] array = new int[ ARRAY_LENGTH ]; // create array 11 12 // calculate value for each array element 13 for ( int counter = 0; counter < array.Length; counter++ ) 14 array[ counter ] = 2 + 2 * counter; 15 16 Console.WriteLine( "{0}{1,8}", "Index", "Value" ); // headings 17 18 // output each array element's value 19 for ( int counter = 0; counter < array.Length; counter++ ) 20 Console.WriteLine( "{0,5}{1,8}", counter, array[ counter ] ); 21 } // end Main 22 } // end class InitArray

InitArray.cs

(1 of 2)

Declare constant variable ARRAY_LENGTH using the const modifier

Declare and create array that contains 10 ints

Use array index to assign array value

Page 16: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

16Index Value 0 2 1 4 2 6 3 8 4 10 5 12 6 14 7 16 8 18 9 20

InitArray.cs

(2 of 2)

Page 17: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

17 1 // SumArray.cs 2 // Computing the sum of the elements of an array. 3 using System; 4 5 public class SumArray 6 { 7 public static void Main( string[] args ) 8 { 9 int[] array = { 87, 68, 94, 100, 83, 78, 85, 91, 76, 87 }; 10 int total = 0; 11 12 // add each element's value to total 13 for ( int counter = 0; counter < array.Length; counter++ ) 14 total += array[ counter ]; 15 16 Console.WriteLine( "Total of array elements: {0}", total ); 17 } // end Main 18 } // end class SumArray Total of array elements: 849

SumArray.cs

Declare array with initializer list

Sum all array values

Page 18: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

18

Hatırlatma

• Bir dizinin elemanları içerisinde bir döngü vasıtasıyla gezilirken dizi indeksinin sıfıra eşit veya büyük ayrıca dizinin boyutundan küçük olmasına dikkat edilmelidir. Döngüye devamı test eden koşulun indeks değerlerinin bu aralıkta olacağını garanti etmesi gerektiğini unutmayınız.

Page 19: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

19

foreach Deyimi

foreach deyimi bir dizinin elemanlarının indeks kullanılmadan ziyaret edilebilmesine imkan tanır. foreach deyimi dizi elemanları üzerinde değişiklik yapamaz.• Kullanım

foreach ( veri tipi tanımlayıcısı in dizinin adı ) deyimler

Page 20: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

20 1 // ForEachTest.cs 2 // Using foreach statement to total integers in an array. 3 using System; 4 5 public class ForEachTest 6 { 7 public static void Main( string[] args ) 8 { 9 int[] array = { 87, 68, 94, 100, 83, 78, 85, 91, 76, 87 }; 10 int total = 0; 11 12 // add each element's value to total 13 foreach ( int number in array ) 14 total += number; 15 16 Console.WriteLine( "Total of array elements: {0}", total ); 17 } // end Main 18 } // end class ForEachTest Total of array elements: 849

ForEachTest.cs

For each iteration, assign the next element of array to int variable number, then add it to total

for(int i=0;i<array.Length;i++)total+=array[i];

Page 21: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

21Dizileri ve Dizi Elemanlarını Metodlara Argüman Olarak Kullanma

• Diziler metodlara otomatik olarak referans argüman biçiminde gönderilirler. Dizi adları aslında dizinin ilk elemanının bellekteki adresidir çünkü.

• Dizi adı metod argümanı olarak köşeli parantezsiz kullanılır. 1. Dizinin deklarasyonu double[] a = new double[ 24 ];

2. Metodun çağrılması DiziyiDegistir( a );

3. Metodun tanımıvoid DiziyiDegistir( double[] b )

Page 22: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

22 1 // PassArray.cs 2 // Passing arrays and individual array elements to methods. 3 using System; 4 5 public class PassArray 6 { 7 // Main creates array and calls ModifyArray and ModifyElement 8 public static void Main( string[] args ) 9 { 10 int[] array = { 1, 2, 3, 4, 5 }; 11 12 Console.WriteLine( 13 "Effects of passing reference to entire array:\n" + 14 "The values of the original array are:" ); 15 16 // output original array elements 17 foreach ( int value in array ) 18 Console.Write( " {0}", value ); 19 20 ModifyArray( array ); // pass array reference 21 Console.WriteLine( "\n\nThe values of the modified array are:" );

PassArray.cs

(1 of 3)

Declare 5-int array with initializer list

Pass entire array to method ModifyArray

Page 23: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

2322 23 // output modified array elements 24 foreach ( int value in array ) 25 Console.Write( " {0}", value ); 26 27 Console.WriteLine( 28 "\n\nEffects of passing array element value:\n" + 29 "array[3] before ModifyElement: {0}", array[ 3 ] ); 30 31 ModifyElement( array[ 3 ] ); // attempt to modify array[ 3 ] 32 Console.WriteLine( 33 "array[3] after ModifyElement: {0}", array[ 3 ] ); 34 } // end Main 35 36 // multiply each element of an array by 2 37 public static void ModifyArray( int[] array2 ) 38 { 39 for ( int counter = 0; counter < array2.Length; counter++ ) 40 array2[ counter ] *= 2; 41 } // end method ModifyArray

PassArray.cs

(2 of 3)

Pass array element array[3] to method ModifyElement

Method ModifyArray manipulates the array directly

Page 24: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

2442 43 // multiply argument by 2 44 public static void ModifyElement( int element ) 45 { 46 element *= 2; 47 Console.WriteLine( 48 "Value of element in ModifyElement: {0}", element ); 49 } // end method ModifyElement 50 } // end class PassArray Effects of passing reference to entire array: The values of the original array are: 1 2 3 4 5 The values of the modified array are: 2 4 6 8 10 Effects of passing array element value: array[3] before ModifyElement: 8 Value of element in ModifyElement: 16 array[3] after ModifyElement: 8

PassArray.cs

(3 of 3)

Method ModifyElement tries to manipulate an array’s element

Page 25: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

Bir Diziyi Bir Metodun Argümanı Olarak Kullanma

• Diziler metod argümanı olarak referansla (call-by-reference) çağrılırlar. • Bir metod, dizinin baslangıç adresini argüman olarak kullanır ve böylece bellekteki yeri bilinmiş olur. • Çağıran metod böylelikle çağırdığı metoda argüman olarak verilen bilgiyi manipule edebilme hakkını da vermiş olur.

• Diziler değer ile (call-by-value) metodlara argüman olarak atansalardı eğer bu bir performans eksikliğine yol açardı. (Metod içerisinde işlensin diye dizinin herbir elemanının kopyası alınırdı.) SIKLIKLA çağrılan metodlardaki kapasitesi büyük diziler böyle bir soruna sebep olurdu.

Page 26: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

26

Çok Boyutlu Diziler

• Örneğin 2 boyutlu dizileri ele alalım. (Matrisler)• İçinde bilgi saklanan tablolar gibi düşünülebilirler. Satırlar (rows) ve sütunlar (columns) vardır. • Dizinin elemanlarına birbirlerinden virgüller ayrılmış 2 indeksle ulaşılır. int[ , ] b= { { 1, 2 }, { 3, 4 } };

• b[0,0] =1 b[0,1]=2• b[1,0] =3 b[1,1]=4

Page 27: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

27

İçinde Dizi Saklayan Diziler (Jagged Arrays)

int[][] jagged = { new int[] {1, 2}, new int[] {3},

new int[] {4, 5, 6 } };

Page 28: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

28

Çok Boyutlu Diziler

• 3 satır ve 4 sütunlu (3-by-4 array) bir dizi deklarasyonu int[ , ] b; b = new int[ 3 , 4 ];

• İçinde dizi saklayan dizi deklarasyonu int[][] b; b = new int[ 2 ][ ]; // 2 satırlı b[ 0 ] = new int[ 5 ]; // 1. satır 5 sütunlu b[ 1 ] = new int[ 3 ]; // 2. satır 3 sütunlu

Page 29: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

29

Çok Boyutlu Dizilerin Manipülasyonu

• Genelde for döngüleri kullanılır.int total = 0 for ( int row = 0; row < a.GetLength(0); row++ ){

for ( int column = 0; column < a.GetLength(1); column++ ) total += a[ row, column];}

Page 30: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

30 1 // InitArray.cs 2 // Initializing rectangular and jagged arrays. 3 using System; 4 5 public class InitArray 6 { 7 // create and output rectangular and jagged arrays 8 public static void Main( string[] args ) 9 { 10 // with rectangular arrays, 11 // every column must be the same length. 12 int[ , ] rectangular = { { 1, 2, 3 }, { 4, 5, 6 } }; 13 14 // with jagged arrays, 15 // we need to use "new int[]" for every row, 16 // but every column does not need to be the same length. 17 int[][] jagged = { new int[] { 1, 2 }, 18 new int[] { 3 }, 19 new int[] { 4, 5, 6 } }; 20 21 OutputArray( rectangular ); // displays array rectangular by row 22 Console.WriteLine(); // output a blank line 23 OutputArray( jagged ); // displays array jagged by row 24 } // end Main

InitArray.cs

(1 of 3)Use nested array initializers to initialize the “rectangular”

array array1

Use nested array initializers of different lengths to

initialize the “jagged” array array2

Page 31: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

3125 26 // output rows and columns of a rectangular array 27 public static void OutputArray( int[ , ] array ) 28 { 29 Console.WriteLine( "Values in the rectangular array by row are" ); 30 31 // loop through array's rows 32 for ( int row = 0; row < array.GetLength( 0 ); row++ ) 33 { 34 // loop through columns of current row 35 for ( int column = 0; column < array.GetLength( 1 ); column++ ) 36 Console.Write( "{0} ", array[ row, column ] ); 37 38 Console.WriteLine(); // start new line of output 39 } // end outer for 40 } // end method OutputArray

InitArray.cs

(2 of 3)

Iterates through each of the array’s “rows”

Passes in a “rectangular” array

Iterates through each of the array’s “columns”

GetLength returns the length of each dimension

Page 32: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

3241 42 // output rows and columns of a jagged array 43 public static void OutputArray( int[][] array ) 44 { 45 Console.WriteLine( "Values in the jagged array by row are" ); 46 47 // loop through array's rows 48 for ( int row = 0; row < array.Length; row++ ) 49 { 50 // loop through columns of current row 51 for ( int column = 0; column < array[ row ].Length; column++ ) 52 Console.Write( "{0} ", array[ row ][ column ] ); 53 54 Console.WriteLine(); // start new line of output 55 } // end outer for 56 } // end method OutputArray 57 } // end class InitArray Values in the rectangular array by row are 1 2 3 4 5 6 Values in the jagged array by row are 1 2 3 4 5 6

InitArray.cs

(3 of 3)

Iterates through each of the array’s “rows”

Passes in a “jagged” array

Iterates through each of the array’s “columns”

array[row].Length returns number of columns associated with row subscript

Page 33: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

33Bir Dizinin En Küçük ve En Büyük Elemanını Bulmausing System;

class DizilerleIslemler{

static void Main(string[ ] args) {

int enKucuk, //Dizinin en kucuk elemanini saklayan degisken enBuyuk; //Dizinin en buyuk elemanini saklayan degisken const int DIZI_BOYUTU = 10; //Dizinin boyutunu saklayan sabit degisken int[ ] a = new int[DIZI_BOYUTU]; Random rastgele = new Random();

Console.WriteLine("Dizinin Icerigi:"); for (int i = 0; i < a.Length; i++) { a[i] = rastgele.Next(5, 50); //Dizinin i. elemanina 5 ile 50 arasinda rastgele bir sayi

ata Console.Write("{0} ", a[i]); } Console.WriteLine();

Page 34: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

34Bir Dizinin En Küçük ve En Büyük Elemanını Bulma

KucuguBuyuguBul(a, out enKucuk, out enBuyuk); //Neden out, ref degil????

Console.WriteLine("a dizisinin en kucuk elemani: {0}", enKucuk);Console.WriteLine("a dizisinin en buyuk elemani: {0}", enBuyuk);

}

Page 35: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

35Bir Dizinin En Küçük ve En Büyük Elemanını Bulma

//Kendine arguman olarak aldigi dizinin en kucuk ve en buyuk elemanini bulan metodun tanimi //Referans kullanarak geriye birden fazla degerin donduruldugune dikkat ediniz!!!!!!!

public static void KucuguBuyuguBul(int[ ] b, out int minimum, out int maksimum) { minimum = b[0]; //Dizinin en kucuk elemaninin ilk eleman oldugunu varsay

maksimum = b[0]; //Dizinin en buyuk elemaninin ilk eleman oldugunu varsay for (int i = 1; i < b.Length; i++) //i’nin 1 den basladigina dikkat ediniz!!!! { if (b[i] < minimum) minimum = b[i];

if (b[i] > maksimum) maksimum = b[i]; } }}

Page 36: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

36

using System;class DizilerleIslemler{

static void Main(string[ ] args) { const int DIZI_BOYUTU = 10; //Dizinin boyutunu saklayan sabit degisken int[ ] a = new int[DIZI_BOYUTU]; Random rastgele = new Random();

Console.WriteLine("Siralanmamis Dizinin Icerigi:"); for (int i = 0; i < a.Length; i++) { a[i] = rastgele.Next(5, 50); //Dizinin i. elemanina 5 ile 50 arasinda rastgele bir sayi

ata Console.Write("{0} ", a[i]); } Console.WriteLine();

“Selection Sort” Sıralama Algoritması ile Küçükten Büyüğe Sıralama (Ascending Sort)

Page 37: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

37

DiziyiKucuktenBuyugeSirala(a); Console.WriteLine("Siralanmis Dizinin Icerigi:"); foreach (int eleman in a)

Console.Write("{0} ", eleman); Console.WriteLine(); }

“Selection Sort” Sıralama Algoritması ile Küçükten Büyüğe Sıralama (Ascending Sort)

Page 38: Görsel C #  Programlama Güz  200 9 (6. Hafta)

2006 Pearson Education, Inc. All rights reserved.

38

//Kendisine arguman olarak aldigi diziyi kucukten buyuge dogru siralayan fonksiyonun tanimi

public static void DiziyiKucuktenBuyugeSirala(int[ ] b) { int minimumunIndeksi;

int geciciDegisken;for(int i=0;i<(b.Length-1);i++){

minimumunIndeksi=i;for(int j=i+1;j<b.Length;j++)

if(b[j]<b[minimumunIndeksi])minimumunIndeksi=j;

//swap yapgeciciDegisken=b[i];b[i]=b[minimumunIndeksi];b[minimumunIndeksi]=geciciDegisken;

} }}

“Selection Sort” Sıralama Algoritması ile Küçükten Büyüğe Sıralama (Ascending Sort)