Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- typedef struct node
- {
- int vertex;
- struct Node *next;
- } Node;
- typedef struct Queue
- {
- struct Node *head;
- } Queue;
- typedef struct Stack
- {
- struct Node *head;
- struct Node *tail;
- } Stack;
- Node *makeNode(int vertex)
- {
- Node *p = (Node *)malloc(sizeof(Node));
- p->vertex = vertex;
- p->next = NULL;
- return p;
- }
- void printfnode(Node *p)
- {
- if (p == NULL)
- return;
- printf("%d\n", p);
- }
- Node* top(Stack *s)
- {
- return s->tail;
- }
- Stack* makeStack()
- {
- Stack *s;
- s = (Stack *)malloc(sizeof(Stack));
- s->head = NULL;
- return s;
- }
- void popStack(Stack *s)
- {
- Node* iterator;
- if(s->tail == NULL)
- {
- printf("ERROR STACK");
- return;
- }
- if(s->head == s->tail)
- {
- s->head = NULL;
- s->tail = NULL;
- return;
- }
- iterator = s->head;
- while (iterator->next != s->tail)
- {
- iterator = iterator->next;
- }
- iterator->next = NULL;
- s->tail = iterator;
- return;
- }
- void pushStack(Stack *s, int vertex)
- {
- Node *newNode = makeNode(vertex);
- if(s->head == NULL)
- {
- s->head = newNode;
- s->tail = newNode;
- return;
- }
- s->tail->next = newNode;
- s->tail = newNode;
- return;
- }
- Node *frontQueue(Queue *q)
- {
- if (q->head == NULL)
- return NULL;
- return q->head;
- }
- Queue *makeQueue()
- {
- Queue *q;
- q = (Queue *)malloc(sizeof(Queue));
- q->head = NULL;
- return q;
- }
- void popQueue(Queue *q)
- {
- Node *tmp;
- if (q->head == NULL)
- {
- printf("ERROR QUEUE\n");
- return;
- }
- tmp = q->head;
- q->head = q->head->next;
- free(tmp);
- }
- void pushQueue(Queue *q, int vertex)
- {
- Node *newNode = makeNode(vertex);
- Node *iterator;
- if (q->head == NULL)
- {
- q->head = newNode;
- return;
- }
- iterator = q->head;
- while (iterator->next != NULL)
- {
- iterator = iterator->next;
- }
- iterator->next = newNode;
- return;
- }
- int main()
- {
- int m = 0, n = 0;
- FILE *f;
- f = fopen("data1.txt", "r");
- if (f == NULL)
- {
- printf("ERROR\n");
- }
- else
- {
- fscanf(f, "%d %d", &n, &m);
- }
- int map[n+1][m+1];
- if (f == NULL)
- {
- printf("ERROR\n");
- }
- else
- {
- for(int i = 1; i <= n ; i++){
- for(int j = 1; j <= m ; j++)
- {
- fscanf(f, "%d", &map[i][j]);
- printf("map[%d][%d] = %d\n", i,j, map[i][j] );
- }
- }
- }
- int start = 0, end = 0;
- fscanf(f, "%d %d", &start, &end);
- printf("%d %d", start, end);
- fclose(f);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement