İST 264 VERİ YAPILARI
Bitirme Sınavı
A Grubu
SORU 1
Dünyanın en uzun beş nehrini öğeleri olarak kabul eden bir yığıt (stack) yaratınız. Yığıtın üçüncü
öğesini bulunuz. Yığıtın üstündeki öğeyi bulunuz ve onu yığıttan çekiniz. [Nil, Amazon, Missisipi,
Yangtze, Yenisey]
import [Link].*;
public class FinalDemo {
public static void main(String[] args) {
Stack stack = new Stack();
[Link]("Nil");
[Link]("Amazon");
[Link]("Missisipi");
[Link]("Yangtze");
[Link]("Yenisey");
[Link](stack);
[Link]([Link]("Missisipi"));
[Link]([Link]());
[Link]([Link]());
[Link](stack);
}
}
/*
[Nil, Amazon, Missisipi, Yangtze, Yenisey]
3
Yenisey
Yenisey
[Nil, Amazon, Missisipi, Yangtze]
*/
SORU 2
Son beş ilimizi kendi trafik kodlarına eşleyen bir LinkedHashMap yaratınız ve bir iterator
yardımıyla öğelerini yazdırınız. [77-Yalova, 78-Karabük, 79-Kilis, 80-Osmaniye, 81-Düzce]
import [Link].*;
public class FinalDemo {
public static void main(String[] args) {
// LinkedHashMap nesnesi yarat
LinkedHashMap lhm = new LinkedHashMap();
// LinkedHashSet nesnesine öğeler ekle
[Link]("Yalova", new Integer("77"));
[Link]("Karabük", new Integer("78"));
[Link]("Kilis", new Integer("79"));
[Link]("Osmaniye",new Integer("80"));
[Link]("Düzce", new Integer("81"));
1
// Girilen öğeler kümesi
Set set = [Link]();
// iterator bildirimi
Iterator itr = [Link]();
[Link](lhm);
}
}
/*
{Yalova=77, Karabük=78, Kilis=79, Osmaniye=80, Düzce=81}
*/
SORU 3
{30,20,55,40,10} sayı dizisindeki en büyük sayıyı bulan bir fonksiyon yazınız.
public class FinalDemo {
static int[] intArr = { 30, 20, 55, 40, 10 };
static void maxBul(int[] arr) {
int max = arr[0];
for (int i = 0; i < [Link]; i++)
if (max < arr[i])
max = arr[i];
[Link]("Dizinin en büyük öğesi : " + max);
}
public static void main(String[] args) {
maxBul(intArr);
}
}
/*
Dizinin en büyük öğesi : 55
*/
SORU 4
Sınıftaki öğrencilerin adlarına, numaralarını eşleyen bir HashMap yaratınız.
import [Link].*;
public class FinalDemo {
public static void main(String[] args) {
Map hashMap = new HashMap();
[Link](20895548, "Merve Alatlı");
[Link](20894828, "Aygün Damla");
[Link](20893085, "Aykut Büyükkılıç");
[Link](20793172, "Fehime Can");
[Link]();
[Link](" Map Oğeleri:");
[Link]("\t" + hashMap);
}
}
/*
2
Map Oğeleri:
{20793172=Fehime Can, 20894828=Aygün Damla, 20895548=Merve Alatlı,
20893085=Aykut Büyükkılıç}
*/
SORU 5
Öğeleri Ankara, Malatya, Diyarbakır ve Rize olan String tipi depo eden bir ArrayList
yaratınız. ArrayList ‘in öğelerini;
a. Sırasız (giriş sırasıyla)
b. Doğal sırasıyla (sözlük sıralaması)
c. Stringlerin uzunluklarına göre
sıralayıp yazdıran bir java programı yazınız.
import [Link];
import [Link].*;
class ComparatorDemo implements Comparator<String> {
public int compare(String str1, String str2) {
Integer str1Length = (Integer) [Link]();
Integer str2Length = (Integer) [Link]();
return [Link](str2Length);
}
}
class Uygulama {
public static void main(String args[]) {
ArrayList<String> arrayList = new ArrayList<String>();
[Link](new String("Ankara"));
[Link](new String("Malatya"));
[Link](new String("Diyarbakır"));
[Link](new String("Rize"));
[Link](" Sıralamadan önce : ");
[Link]("arrayList = " + arrayList);
[Link]("\n Sözlük sıralamasına göre : ");
[Link](arrayList);
[Link]("arrayList = " + arrayList);
[Link]("\n Uzunluklarına göre sıraladıktan sonra : ");
[Link](arrayList, new ComparatorDemo());
[Link]("arrayList = " + arrayList);
}
}
/*
Sıralamadan önce :
arrayList = [Ankara, Malatya, Diyarbakır, Rize]
Sözlük sıralamasına göre :
3
arrayList = [Ankara, Diyarbakır, Malatya, Rize]
Uzunluklarına göre sıraladıktan sonra :
arrayList = [Rize, Ankara, Malatya, Diyarbakır]
*/
Puanlar:
1. 20
2. 20
3. 20
4. 20
5. 20
4
İST 264 VERİ YAPILARI
Bitirme Sınavı
B Grubu
SORU 1
Dünyanın en uzun beş nehrini öğeleri olarak içeren bir kuyruk (queue) yaratınız. Kuyruğun
uzunluğunu bulunuz. Kuyruktaki öğeleri sırayla yazdırınız. Kuyruğun önündeki öğeyi çekiniz. [Nil,
Amazon, Mississipi, Yangtze, Yenisey]
import [Link].*;
public class FinalDemo {
public static void main(String[] args) {
Queue<String> kuyruk = new LinkedList<String>();
[Link]("Nil");
[Link]("Amazon");
[Link]("Missisipi");
[Link]("Yangtze");
[Link]("Yenisey");
Iterator it = [Link]();
[Link]("Kuyruğun uzunluğu :" + [Link]());
[Link]("Kuyrukta baştan sona doğru sıralı öğeler : ");
while ([Link]()) {
String iteratorValue = (String) [Link]();
[Link](",\t" + iteratorValue);
}
// Kuyruğun sonundaki öğe
[Link]("\n [Link]() :" + [Link]());
// kuyruğun önündeki öğeyi al
[Link]("[Link]() :" + [Link]());
[Link]("Kuyruğun kalan öğe sayısı :" + [Link]());
}
}
/*
Kuyruğun uzunluğu :5
Kuyrukta baştan sona doğru sıralı öğeler :
, Nil, Amazon, Missisipi, Yangtze, Yenisey
[Link]() :Nil
[Link]() :Nil
Kuyruğun kalan öğe sayısı
*/
SORU 2
Son beş ilimizi öğe olarak içeren bir LinkedHashSet yapısı kurunuz ve bir iterator ile öğelerini
yazdırınız. [Yalova, Karabük, Kilis, Osmaniye, Düzce]
import [Link].*;
5
public class FinalDemo {
public static void main(String[] args) {
LinkedHashSet obj = new LinkedHashSet();
[Link]("Yalova");
[Link]("Karabük");
[Link]("Kilis");
[Link]("Osmaniye");
[Link]("Düzce");
Set e = obj;
for (Iterator i = [Link](); [Link]();) {
[Link]([Link]().toString());
}
}
}
/*
Yalova
Karabük
Kilis
Osmaniye
Düzce
*/
SORU 3
{30,20,55,40,10} dizisinde (array) 55 sayısının yerini bulan bir fonksiyon yazınız.
public class FinalDemo {
static int[] intArr = { 30, 20, 55, 40, 10 };
static void sayıBul(int[] arr, int ara) {
int indis = 0;
for (int i = 0; i < [Link]; i++)
if (ara == arr[i])
indis = i;
[Link]("Aranan sayının indisi : " + indis);
}
public static void main(String[] args) {
sayıBul(intArr, 55);
}
}
/*
Aranan sayının indisi : 2
*/
SORU 4
HashSet nedir? Bu dönem aldığınız dersleri öğeler olarak içeren bir HashSet yapısı kurunuz.
import [Link].*;
public class FinalDemo {
public static void main(String[] args) {
6
Set set = new HashSet();
[Link]("Đleri Matematik");
[Link]("Veri Yapıları");
[Link]("Olasılık");
[Link]("Đstatistik Metotları");
[Link]();
[Link](" Set Öğeleri:");
[Link]("\t" + set);
}
}
/*
Set Öğeleri:
[Olasılık, Đleri Matematik, Veri Yapıları, Đstatistik Metotları]
*/
SORU 5
Öğeleri 13.64, 234.89, 28.2, 143.45 olan Double veri tipi depolayan bir ArrayList yaratınız.
ArrayList ‘in öğelerini;
a. Sırasız (giriş sırasıyla)
b. Doğal sırasıyla (büyüklük sıralaması)
c. Kesir kısımlarının büyüklüklerine göre
sıralayıp yazdıran bir java programı yazınız.
import [Link];
import [Link].*;
class ComparatorDemo implements Comparator<Double> {
public int compare(Double num1, Double num2) {
Double d1 = (num1 - [Link]());
Double d2 = (num2 - [Link]());
return [Link](d2);
}
}
class Uygulama {
public static void main(String[] args) {
ArrayList<Double> arrayList = new ArrayList<Double>();
[Link](new Double(13.64));
[Link](new Double(234.89));
[Link](new Double(28.12));
[Link](new Double(143.45));
[Link](" Sıralamadan önce : ");
[Link]("arrayList = " + arrayList);
[Link]("\n Doğal sıralamasına göre : ");
[Link](arrayList);
7
[Link]("arrayList = " + arrayList);
[Link]("\n Kesir kısmı büyüklüğüne göre sıralı: ");
[Link](arrayList, new ComparatorDemo());
[Link]("arrayList = " + arrayList);
}
}
/*
Sıralamadan önce :
arrayList = [13.64, 234.89, 28.12, 143.45]
Doğal sıralamasına göre :
arrayList = [13.64, 28.12, 143.45, 234.89]
Kesir kısmı büyüklüğüne göre sıralı :
arrayList = [28.12, 143.45, 13.64, 234.89]
*/
Puanlar:
1. 20
2. 20
3. 20
4. 20
5. 20