Untitled

mail@pastecode.io avatar
unknown
c_cpp
3 years ago
1.2 kB
9
Indexable
#include <stdio.h>
#include <stdlib.h>

int *dizi=NULL;
int sira = 0;
int sirabasi = 0;
int boyut = 2;

int deque(){
    if (sira == sirabasi)
    {
        printf("sira bos");
    }
    return dizi[sirabasi++];
    if (sira-sirabasi<=boyut/4)
    {
        int *dizi2 = (int*)malloc(sizeof(int)*boyut/2);
        for (int i = 0; i < sira-sirabasi; i++)
        {
            dizi2[i]=dizi[sira+i];
        }
        sira-=sirabasi;
        sirabasi=0;
        free(dizi);
        dizi=dizi2;
        boyut/=2;  
    }
    

}
void toparla(){
    if (sirabasi == 0)
        return;
    for (int i = 0; i < boyut; i++)
        dizi[i]=dizi[i+sirabasi];
    
    sira -= sirabasi;
    sirabasi=0;
}

int enque(int x){
    if (dizi == NULL)
    {
        dizi = (int*)malloc(sizeof(int)*2);

    }
    if (sira>=boyut)
    {   
        int *dizi2 = (int*)malloc(sizeof(int)*boyut*2);
        for (int i = 0; i < sira; i++)
        {
            dizi2[i]=dizi[i];
        }
        free(dizi);
        dizi=dizi2;
        boyut*=2;   
    }
    dizi[sira]=x;
    sira++;
}

int main(){
    for (int i = 0; i < 20; i++)
    {
        enque(i);
    }
    for (int i = 0; i < 20; i++)
    {
        printf("%d ",deque());
    }
    
}