aktasm
25/11/2005, 00:33
ARKADAŞLAR
linked list ile basit ekleme çıkarma fonkisyonnları içeren programlara ihtiyacım var sizde varsa temin edebilirmiyim yada en temel bu programlara nasıl ulaşabilirim?
ayrıca bende kendim yazmayi denedim fakat ekleme cikarma fonksiyonlarımla sona ekleme basa ekleme yapamıyorum cıkarmayıda maine koymadm ama calismiyor bunları acil olarak duzeltebilecek yardimci olbilrseniz cok sevinirim tesekkurler saygılar herkese..
#include <stdio.h>
#include <stdlib.h>
typedef char veriTipi;
typedef struct nodeYapisi{
veriTipi bilgi;
struct nodeYapisi *next;
}Node;
void hata(char *s)
{
printf("%s",s);
}
Node* dugumYap(veriTipi veri)
{
Node* node1;
node1=(Node *)malloc(sizeof(Node));
if(node1==NULL)
hata("Node yapamadim!\n");
else
{
node1->next=NULL;
node1->bilgi=veri;
}
return node1;
}
void basinaEkle(Node** HeadNode,veriTipi veri)
{
Node* node1;
node1=dugumYap(veri);
if(node1==NULL)
hata("dugum yapilamadi!\n");
else
{
node1->next=*HeadNode;
*HeadNode=node1;
}
}
void sonunaEkle(Node** HeadNode,veriTipi veri)
{
Node* node1;
Node* temp;
node1=dugumYap(veri);
if(node1==NULL)
hata("dugum yapilamadi!\n");
else
{
if(*HeadNode==NULL)
{
*HeadNode=node1;
}
else
{
for(temp=*HeadNode;temp->next!=NULL;temp=temp->next);
temp->next=node1;
}
}
}
void tara(Node* HeadNode)
{
Node* temp;
if(HeadNode==NULL)
hata("Liste bos!\n");
else
{
for(temp=HeadNode;temp!=NULL;temp=temp->next)
printf("%c\n",temp->bilgi);
}
}
void arayaEkle(Node* node1,Node* node2)
{
if(node1!=NULL || node2!=NULL)
node2->next=node1->next;
node1->next=node2;
}
int main()
{
veriTipi a,b;
Node *temp;
Node* HeadNode;
a='M';
b='N';
basinaEkle(&HeadNode,a);
basinaEkle(&HeadNode,b);
for(temp=HeadNode;temp!=NULL;temp=temp->next)
printf("%c\n",temp->bilgi);
//sonunaEkle(&HeadNode,a);
//tara(HeadNode);
return 0;
}
linked list ile basit ekleme çıkarma fonkisyonnları içeren programlara ihtiyacım var sizde varsa temin edebilirmiyim yada en temel bu programlara nasıl ulaşabilirim?
ayrıca bende kendim yazmayi denedim fakat ekleme cikarma fonksiyonlarımla sona ekleme basa ekleme yapamıyorum cıkarmayıda maine koymadm ama calismiyor bunları acil olarak duzeltebilecek yardimci olbilrseniz cok sevinirim tesekkurler saygılar herkese..
#include <stdio.h>
#include <stdlib.h>
typedef char veriTipi;
typedef struct nodeYapisi{
veriTipi bilgi;
struct nodeYapisi *next;
}Node;
void hata(char *s)
{
printf("%s",s);
}
Node* dugumYap(veriTipi veri)
{
Node* node1;
node1=(Node *)malloc(sizeof(Node));
if(node1==NULL)
hata("Node yapamadim!\n");
else
{
node1->next=NULL;
node1->bilgi=veri;
}
return node1;
}
void basinaEkle(Node** HeadNode,veriTipi veri)
{
Node* node1;
node1=dugumYap(veri);
if(node1==NULL)
hata("dugum yapilamadi!\n");
else
{
node1->next=*HeadNode;
*HeadNode=node1;
}
}
void sonunaEkle(Node** HeadNode,veriTipi veri)
{
Node* node1;
Node* temp;
node1=dugumYap(veri);
if(node1==NULL)
hata("dugum yapilamadi!\n");
else
{
if(*HeadNode==NULL)
{
*HeadNode=node1;
}
else
{
for(temp=*HeadNode;temp->next!=NULL;temp=temp->next);
temp->next=node1;
}
}
}
void tara(Node* HeadNode)
{
Node* temp;
if(HeadNode==NULL)
hata("Liste bos!\n");
else
{
for(temp=HeadNode;temp!=NULL;temp=temp->next)
printf("%c\n",temp->bilgi);
}
}
void arayaEkle(Node* node1,Node* node2)
{
if(node1!=NULL || node2!=NULL)
node2->next=node1->next;
node1->next=node2;
}
int main()
{
veriTipi a,b;
Node *temp;
Node* HeadNode;
a='M';
b='N';
basinaEkle(&HeadNode,a);
basinaEkle(&HeadNode,b);
for(temp=HeadNode;temp!=NULL;temp=temp->next)
printf("%c\n",temp->bilgi);
//sonunaEkle(&HeadNode,a);
//tara(HeadNode);
return 0;
}