1. Stack in Array

#include <stdio.h>
#include <stdlib.h> 

#define SIZE 10000
#define INF		99999

int stack[SIZE];
int top = -1;

void push(int data) {
	if (top == SIZE - 1) {
		printf("Stack Overflow !!");
		return;
	}
	stack[++top] = data;
}

int pop() {
	if (top == -1) {
		printf("Stack Underflow !!");
		return -INF;
	}

	return stack[top--];
}

void show() {
	printf("Top Of Stack \n");
	for (int i = top; i >= 0; i--) {
		printf("%d \n", stack[i]);
	}
	printf("Bottom Of Stack \n");
}


int main() {							  
	push(2);
	push(1);
	push(5);
	push(7);
	push(6);
	pop();
	push(8);
	pop();
	push(3);
	show();
	system("pause");
	return 0;
}

2. Stack in Lined List

#include <stdio.h>
#include <stdlib.h>	 
#define INF		99999

typedef struct {
	int data;
	struct Node* next;
} Node;

typedef struct {
	struct Node *top;
} Stack;
					   
void push(Stack *stack, int data) {
	Node* node = (Node*)malloc(sizeof(Node));	

	node->data = data;
	node->next = stack->top;

	stack->top = node;
}

int pop(Stack *stack) {
	if (stack->top == NULL) {
		printf("Stack Underflow !!\n");
		return -INF;
	}

	Node* top = (Node*)malloc(sizeof(Node));
	top = stack->top;
	stack->top = top->next;
	int data = top->data;
	free(top);
	return data;
	
}

void show(Stack *stack) {
	Node* cur = stack->top;

	printf("Top Of Stack \n");
	while (cur != NULL) {
		printf("%d \n", cur->data);
		cur = cur->next;
	}
	printf("Bottom Of Stack \n");
}

int main() {
	Stack stack;
	stack.top = NULL;

	push(&stack, 2);
	push(&stack, 1);
	push(&stack, 5);
	push(&stack, 7);
	push(&stack, 6);
	pop(&stack);
	push(&stack, 8);
	pop(&stack);
	push(&stack, 3);
	show(&stack);
	system("pause");
	return 0;
}

be the happy Gosu.

woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

반응형

'ETC > C, C++' 카테고리의 다른 글

[C, C++] Counting Sort  (2) 2022.02.09
[C, C++] Selection Sort, Insertion Sort  (0) 2021.11.04
[C, C++] Queue in Array, Linked List  (0) 2021.10.20
[C, C++] Sorted Doubly Linked List  (0) 2021.10.20
#include <stdio.h>
#include <stdlib.h> 

typedef struct {
	int data;
	struct Node *prev;
	struct Node *next;
} Node;

Node *head, *tail;

void insert(int data) {
	Node* node = (Node*)malloc(sizeof(Node));
	node->data = data;

	Node* cur;
	cur = head->next;
	while (cur->data < data && cur != tail) {
		cur = cur->next;
	}

	Node* prev = cur->prev;

	prev->next = node;
	node->prev = prev;

	cur->prev = node;
	node->next = cur;
}

void removeFront() {
	Node* node = head->next;
	head->next = node->next;

	Node* next = node->next;
	next->prev = head;

	free(node);
}

void show() {
	Node* cur = head->next;
	while (cur != tail) {
		printf("%d \n", cur->data);
		cur = cur->next;
	}
}

int main(void) {
	head = (Node*)malloc(sizeof(Node));
	tail = (Node*)malloc(sizeof(Node));
	head->prev = head;
	head->next = tail;
	tail->prev = head;
	tail->next = tail;

	insert(4);
	insert(9);
	insert(3);
	insert(1);
	insert(8);
	insert(7);
	insert(6);
	insert(2);
	removeFront();
	show();

	system("pause");
	return 0;
}

 

be the happy Gosu.

woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

반응형

'ETC > C, C++' 카테고리의 다른 글

[C, C++] Counting Sort  (2) 2022.02.09
[C, C++] Selection Sort, Insertion Sort  (0) 2021.11.04
[C, C++] Queue in Array, Linked List  (0) 2021.10.20
[C, C++] Stack in Array, Lined List  (0) 2021.10.20

There is a code snippet in the query that I don't understand, but i write them down. ^^;

SELECT TO_CHAR(TO_DATE(ROWNUM+2454832, 'J'), 'YYYYMMDD') AAA
FROM (
    SELECT LEVEL M FROM DUAL
    CONNECT BY LEVEL <= 2556
)
ORDER BY AAA

Result :

 

DateFormat 'J' Option is

Julian day; the number of days since January 1, 4712 BC. Number specified with J must be integers.

https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#i34924

 

Format Models

The total length of a datetime format model cannot exceed 22 characters. The default datetime formats are specified either explicitly with the initialization parameter NLS_DATE_FORMAT or implicitly with the initialization parameter NLS_TERRITORY. You can c

docs.oracle.com

 

What is the principle of this snippet?

SELECT LEVEL M FROM DUAL
CONNECT BY LEVEL <= 2556


I can guess why, but I don't understand the principle.

Is there anyone who can teach me? ^^;

 

There is a saying in Korea.

If you don't understand, calm down and read(memorize) it.

^^;

 

be the happy Gosu.

woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

 

반응형

+ Recent posts