Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

C vector


Öne çıkan mesajlar

Mesaj tarihi:
C de vector kullanan var mı? Varsa library bilen var mı acaba?

C de yazmam gereken bir iki bişi var da, vector kullanmam gerekiyor..

C++ libraryleri kullanılmıyor sanırım..
Mesaj tarihi:
Vector STL kütüphanesinin linked list templ. adı. Genelde sık değişen listeleri ve b-treeler için kullanılır.

Sınıfları, templateleri ve doğal olarak C++ kullanman gerekli Vector için.[signature][hline]Game Developer
Hypercube the game
Zamanında M.A.D. Orcun olarak bilinirdi.

[Bu mesaj Ametal tarafından 23 Kasım 2004 00:37 tarihinde değiştirilmiştir]
Mesaj tarihi:
aaa ceday valla kusura bakma unuttum gitti ya.inşallah iş işten geçmemiştir.

birinci sınıfta yaptığım bi take home.her struct'ın içinde bi char var. bi incele belki işine yarar.


said:


#include
#include
#include

typedef enum Bool{FALSE,TRUE} Boolean;

typedef struct node NODE;

struct node
{
char data;
struct node *next;
struct node *prev;
};


NODE* CreateList(int n)
{
NODE *list=NULL,*temp,*prevtemp;
int i;
if(n>0)
{
list=(NODE*)malloc(sizeof(NODE));
temp=list;
prevtemp=list;
for (i=0;i {
temp->next=(NODE*)malloc(sizeof(NODE));
printf("Enter the data section of %d. NODE:n" ,i+1);
scanf("%c" ,&temp->data);
flushall();
if(i<(n-1))
{
temp=temp->next;
temp->prev=prevtemp;
prevtemp=prevtemp->next;
}
}
temp->next=list;
list->prev=temp;
return list;
}
else return list;

}

void PrintList(NODE *list)
{
if(list!=NULL)
{

int i;
NODE *temp=list;
printf("List:n");
printf("%cn" ,temp->data);
temp=temp->next;
for(;temp!=list;temp=temp->next)
printf("%cn" ,temp->data);

}
else printf("This is an Empty list...n");

}

NODE* Delete(NODE *list,char data)
{


if(list!=NULL)
{
NODE *temp=list,*temp2,*ToDel;
if(list->next==list && data==temp->data)
{
list=NULL;
free(temp);
return NULL;
}

if(data==temp->data)
{
ToDel=temp;
temp2=temp->prev;
temp2->next=temp->next;
temp=temp->next;
temp->prev=temp2;
free(ToDel);
list=temp;
printf("Success:n");
return list;
}
temp=temp->next;

for(;temp!=list;temp=temp->next)
{
if(data==temp->data)
{
ToDel=temp;
temp2=temp->prev;
temp2->next=temp->next;
temp=temp->next;
temp->prev=temp2;
free(ToDel);
printf("Success:n");
return list;
}
}
printf("Failure:nThis Data Is Not In The List...n");

return list;
}
else printf("ERROR:List Is Empty...n");
return NULL;
}

Boolean Member(char data,NODE *list)
{
if(list!=NULL)
{
NODE *temp;
if(list->data==data)
return TRUE;
for(temp=list;temp->next!=list;temp=temp->next)
if(data==temp->data)
return TRUE;
return FALSE;
}
else printf("ERROR:List Is EMPTY...n");
return 10;
}

int Count(NODE *list)
{
if(list!=NULL)
{
int a=1;
NODE *temp;
for(temp=list;temp->next!=list;temp=temp->next)
a++;
return a;
}
else return 0;

}

NODE* Locate (NODE *list,char data)
{
if(list!=NULL)
{
NODE *temp=list;
if(list->data==data)
return list;
for(;temp->next!=list;temp=temp->next)
{
if(data==temp->data)
return temp;
}
return NULL;
}
else return 1;
}

NODE* Concatanate(NODE *list1,NODE *list2)
{
if(list1!=NULL && list2!=NULL)
{
NODE *temp,*temp2;
temp=list1->prev;
temp->next=list2;
temp2=list2->prev;
list2->prev=temp;
temp2->next=list1;
list1->prev=temp2;
return list1;
}
else printf("One or Both Of The Lists Is/Are EMPTYn");
return list1;
}

NODE* Insert(NODE *list,char data,int place)
{
NODE *temp=list,*temp2,*add;
add=(NODE*)malloc(sizeof(NODE));
add->data=data;
if(list!=NULL)
{
int i;

i=Count(list);
if(place>i)
{
printf("The List Is Not Including Such A Place %dn" ,place);
return list;
}


if(place==0)
{
add->prev=list->prev;
add->next=list;
temp2=list->prev;
temp2->next=add;
list->prev=add;
list=add;
return list;
}
else
{
for(i=0;i temp=temp->next;
add->prev=temp->prev;
add->next=temp;
temp2=temp->prev;
temp2->next=add;
temp->prev=add;
return list;
}
}
else
{
if(place>0)
{
printf("You Can Only Add 0. Place On an Empty Listn");
return list;
}
list=add;
list->next=list;
list->prev=list;
}
return list;
}


void Sort(NODE *list,char SortType)
{
if(list!=NULL)
{
char swap;
NODE *temp=list,*temp2=list;
temp=temp->prev;
temp->next=NULL;
if(SortType=='+')
{
for(temp=list;temp!=NULL;temp=temp->next)
for(temp2=temp;temp2!=NULL;temp2=temp2->next)
if(temp->data>temp2->data)
{
swap=temp->data;
temp->data=temp2->data;
temp2->data=swap;
}
}
else if(SortType=='-')
{
for(temp=list;temp!=NULL;temp=temp->next)
for(temp2=temp;temp2!=NULL;temp2=temp2->next)
if(temp->datadata)
{
×
  • Yeni Oluştur...