wtorek, 1 września 2026

struct my_Queue - gcc

 

#include <stdio.h>
#include <stdlib.h>
#define max_Size 1000

int* main_Tab;
int is_First(int value)
{
    int i,sum;
    sum=0;
    for(i=1;i<value+1;i++)
    if(value%i==0)
     ++sum;
    if(sum==2)
     return 1;
    else
     return 0;
}
void init_Tab()
{
    int i,j;
    main_Tab=malloc(sizeof(int)*max_Size);
    i=0;
    j=1;
    do
    {
        if(is_First(j))
        {
            main_Tab[i]=j;
            ++i;
        }
        ++j;
    }while(i<max_Size);
}
void destroy_Tab()
{
    free(main_Tab);
}

typedef struct 
{
    int y1;
    int y2;
    int* value;
}my_Queue;
void start_Queue(my_Queue* temp_Queue)
{
    temp_Queue->y1=0;
    temp_Queue->y2=0;
    temp_Queue->value=(int*)malloc(max_Size*sizeof(int));
}
int show_Size(my_Queue* temp_Queue)
{
    int temp_Value;
    temp_Value=temp_Queue->y2-temp_Queue->y1;
    return temp_Value;
}
void destroy_Queue(my_Queue* temp_Queue)
{
    free(temp_Queue->value);
}
void add_Queue(my_Queue* temp_Queue, int temp_Value)
{
    temp_Queue->value[temp_Queue->y2]=temp_Value;
    temp_Queue->y2++;
}
int write_values_Queue(my_Queue* temp_Queue)
{
    int temp_Value;
    temp_Value=temp_Queue->value[temp_Queue->y1];
    temp_Queue->y1++;
    return temp_Value;
}

int main(int argc, char **argv)
{
    int i;
    init_Tab();
    my_Queue* test_Queue=(my_Queue*)malloc(sizeof(my_Queue));
    start_Queue(test_Queue);
    for(i=0;i<max_Size;i++)
    {
        add_Queue(test_Queue,main_Tab[i]);
    }
    for(i=0;i<max_Size;i++)
    {
        printf("%d )  %d\n",i+1,write_values_Queue(test_Queue));
    }
    destroy_Queue(test_Queue);
    free(test_Queue);
    destroy_Tab();
    return 0;
}

Brak komentarzy:

Prześlij komentarz