PDA

Tam Sürümünü Görmek İçin : data structures yardıma ihtiyacım var.


impulse
02/02/2006, 15:09
1) Program kullanıcıdan positif tamsayılar alacak ve bunları bir listeye yerleştirecektir.

2) Işlem kullanıcı negatif bir sayı girdiğinde sona erecektir.

3) Veri girşinin herhangibir anında o zamana kadar okunan tamsayılar listede büyükten küçüğe doğru sıralanmış şekilde yer almalıdırlar.

4) Bu sıralamayı sağlayacak olan ekleme fonksiyonu şu özelliklere sahip olmalıdır. Eğer liste henüz boş ise kullanıcıdan alınan ilk eleman doğrudan listeye yerleştirilmelidir. Eğer listeye daha önceden elemanlar yerleştirilmis ise üç değişik alternatif ortaya çıkmaktadır. Yeni gelen tamsayı listedeki tüm elemanlardan daha büyük olabilir. Bu durumda listenin en başına eklenmelidir. Hepsinden küçük olduğu durumda ise en sonda yer almalıdır. Bir üçüncü olasılık ise yeni tamsayının bazı elemanlardan büyük bazı elemanlardan ise küçük olmasıdır. Bu durumda da daha önceden oluşturulan listede bu yeni tamsayı için doğru yerin tespit edilmesi ve oraya ekleme işleminin gerçekleştirilmesi gerekmektedir. Eğer ekleme fonsiyonu bu özelliklere sahip ise oluşturmaya başladığı listede yer alan tamsayılar hep sıralı olacaklardır.
Programa başladım ama devamı konusunda yardıma ihtiyacım var.Teşekkürler.

void insert_elm(struct List *pl,int val)
{
struct Item *pt=(struct Item *)malloc(sizeof(struct Item));
pt->val=val;
pt->next = pl->list;
pl->list = pt;
}

struct Item *atEnd(struct List *pl)
{
struct Item *curr;
if (pl->list == 0)
return 0;
curr = pl->list;
while (curr->next)
curr = curr->next;
return curr;
}


Revne
02/02/2006, 19:30
if(Bu programi C ile yapacam)
{
1. Bence oncelikle temel bir structure olusturmalisin.Item adinda mesela
2. Bu structure yapısını gosteren bir Baslangic bir de Son adinda iki pointer tutacaksin.Bunlar listeye eklenen elemanlardan ilkini ve sonuncusunu gosterecekler.(Sonuncuyu tutman zorunlu deil)
3. Bu Liste icin Ekleme/Silme/Guncelleme/Okuma fonksiyonlarini tasarlaman ve yazaman gerekiyor.
4.Main fonksiyonunda bunlari kullanmak
}
else if(C++ da kullanabilirim)
{
1. Oncelikle temel bir class olusturmalisin. Item adinda mesela...
2. Daha sonra ItemList list adinda bir class tanımlaman gerekecek. Bu classta Baslangic ve Sonu isaret eden iki pointer tutman gerekecek.. (Sonuncuyu tutman zorunlu deil)
3. Bu class icin Ekleme/Silme/Guncelleme/Okuma fonksiyonlarini tasarlaman ve yazaman gerekiyor.
4. Main fonksiyonunda bunlari kullanmak..
}

NOT: Sen hele yaz bir seyler takıldıgın yerde yardımcı oluruz elbet...

Kolay Gelsin