28.02.2015 Views

Ders 1: Giriş

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Bazı uygulamalarda bir grup sayının büyükten küçüğe, veya küçükten büyüğe, doğru<br />

sıralanması gerekebilir. Bu tip sıralama problemleri için çeşitli algoritmalar geliştirilmiştir.<br />

Sıralama mantığını anlamadan önce bir dizinin en büyük (veya en küçük) elemanının nasıl<br />

bulunduğunu inceleyelim. Program 10.3, bir dizinin en büyük elemanını bulup ekrana yazar.<br />

Program 10.3: Bir dizinin en büyük elemanının bulunuşu<br />

01:<br />

02:<br />

03:<br />

04:<br />

05:<br />

06:<br />

07:<br />

08:<br />

09:<br />

10:<br />

11:<br />

12:<br />

13:<br />

14:<br />

15:<br />

16:<br />

17:<br />

18:<br />

19:<br />

20:<br />

21:<br />

ÇIKTI<br />

/* 10prg03.c<br />

Bir dizinin en büyük elemanını bulup ekrana<br />

yazar */<br />

#include <br />

int main(void)<br />

{<br />

int a[10] = {100, -250, 400, 125 ,550, 900,<br />

689, 450, 347, 700};<br />

int k, eb;<br />

/* ilk eleman en büyük kabul ediliyor */<br />

eb = a[0];<br />

for(k=1; keb ) eb = a[k];<br />

printf("En buyuk eleman = %d\n",eb);<br />

return 0;<br />

}<br />

En buyuk eleman = 900<br />

En büyük sayıyı bulan bu algoritma oldukça kolaydır. 12. satırda eb = a[0]; ataması ile<br />

dizinin ilk elemanının en büyük olduğu varsayılır. Daha sonra büyüğe rastladıkça (15. satır)<br />

eb = a[k]; ile eb değişmektedir.<br />

Program 10.3 bir dizinin en büyük elemanını bulur. En büyük elemanın kaçıncı indis (eleman)<br />

olduğu sorgulanmak istendiğinde: programdaki koşul yapısını aşağıdaki gibi değiştirmek<br />

yeterlidir. eb değiştikçe, i değişkeni en büyük elemanın indisini tutar.<br />

for(k=0; k eb ){<br />

eb = a[k];<br />

i = k;<br />

}<br />

}<br />

n elemanlı bir dizinin, elemanlarını büyükten küçüğe doğru sıralamak için çok popüler iki<br />

algoritma aşağıda verilmiştir[2].<br />

Seçerek Sıralama (Selection Sort):<br />

En büyük elemanı bul başa koy biçimindeki sıramadır. Algoritmanın uygulaması Program

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!