Skip to main content

İkili Ağaç C Kodu

int main()

{

NODEPTR p,q,ptree;

int number;

scanf(“%d”,&number);

ptree=maketree(number);

while(scanf(“%d”,&number)!=EOF)

{

p=q=ptree;

while(number!=p->info&&q!=NULL){

p=q;

if(number<p->info)

q=p->left;

else

q=p->right;

}

if(number==p->info)

printf(“%d is duplicate \n…

Devamını Oku

Ağaç Yapısı

Oluşturma

struct nodetype

{

int info;

struct nodetype *left;

struct nodetype *right;

};

typedef struct nodetype *NODEPTR

NODEPTR maketree (int x)

{

NODEPTR p;

p->info=x;

p->left=NULL;

p->right=NULL;

return(p);

}

Eleman Ekleme(Sola)

void setleft(NODEPTR p,int x)

{

if(p==NULL)

printf(“void insertion”);

else if(p->left!=NULL…

Devamını Oku

ÇİFT BAĞLI LİSTE YAPISI

Oluşturma

struct node {

int info;

struct node *left;

struct node *right

};

typedef struct node *NODEPTR;

Eleman Ekleme

void insertright (NODEPTR p, int x){

NODEPTR q,r;

if(p==NULL){

printf(“void insertion”);

exit(1);

}

q=getnode();

r->info=x;

r=p->right;

r->left=q;

q->right=r;

q->left=p;

p->right=q;

}

Eleman Silme

voi…

Devamını Oku

LİSTE YAPISI

Oluşturma

struct node {

int info;

struct node *next;

};

typedef struct node NODEPTR;

NODEPTR getnode() {

NODEPTR p;

p=(NODEPTR)malloc(sizeof(struct node));

return(p);

}

Eleman Ekleme

void insafter(NODEPTR p,int x){

NODEPTR q;

if(p==NULL){

printf(“void insertion”);

exit(1);

}

q=getnode();

q->info=x;

q->next=p->next;

p->next=q;

}

El

Devamını Oku

Kuyruk Yapısı

Oluşturma

struct kuyruk {

int items[MAXQUEUE];

int front,rear;

};

struct kuyruk q;

q.front=q.rear=MAXQUEUE-1;

Boş mu Kontrolü

int empty (struct kuyruk *pq){

return((pq->front==pq->rear)? true: false);

}

Eleman Ekleme

void insert(struct kuyruk *pq,int x){

if(pq->rear==MAXQUEUE-1)

pq->rear=0;

else

(pq->rear)++;

if(pq->rear=…

Devamını Oku