๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ/๐Ÿ’œ ์ž๋ฃŒ๊ตฌ์กฐ3

[๐Ÿ’œ ์ž๋ฃŒ๊ตฌ์กฐ3] Circular Queue ์›ํ˜• ํ (๋ฐฐ์—ด) 1. ์›ํ˜• ๋ฐฐ์—ด ํ Code #include #include #define N 5 typedef int element; element queue[N]; //์ฒ˜์Œ ๊ณต๋ฐฑ์ผ๋•Œ 0๋ฒˆ์ง€ int front=0; int rear=0; //์‚ฝ์ž… void qinsert(element value){ //ํฌํ™” ์ƒํƒœ ํ™•์ธ //front :0 , rear: 8 => ํ์— insert๋งŒ ํ•ด์„œ ๊ฝ‰ ์ฐธ. 0->1->----8->0->1, ์—ฌ๊ธฐ์„œ front์ธ 0๋ฒˆ์ง€๋Š” ๋น„์–ด์žˆ๋Š” ์ƒํƒœ if (front==(rear+1)%N){//front (ํ•œ์นธ)๋น„์›Œ๋†“์Œ printf("queue overflow"); exit(1); } //++rear%N //=> rear = (rear + 1) % N // (8+1) % 9 = 0 //๋งŒ์•ฝ +1์„ ์•ˆํ•˜.. 2023. 7. 21.
[๐Ÿ’œ ์ž๋ฃŒ๊ตฌ์กฐ2] Queue ํ (๋ฐฐ์—ด, linked) 1. ๋ฐฐ์—ด ํ Code #include #include #define N 5 typedef int element; element queue[N]; int front=-1; //์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ๋น ์ง€๋ฉด ๋จ int rear=-1; //๋ฐ›์„์ฐจ๋ก€ void qinsert(element value){ if (rear>=N-1){ //4 printf("queue overflow"); exit(1); } rear++; queue[rear] = value; } element qdelete(){ if (front==rear){ //์—ฌ๊ธฐ๊นŒ์ง€ ๋„ฃ์Œ(front) == ์—ฌ๊ธฐ๊นŒ์ง€ ๋บŒ(rear) ์ฆ‰, ๋„ฃ์€๊ฑฐ ๋‹ค ๋บŒ = ๊ณต๋ฐฑ printf("ํ์— ๊ฐ’์ด ์—†์Šต๋‹ˆ๋‹ค"); } front++; return queue[front]; } int main(.. 2023. 7. 20.
[๐Ÿ’œ ์ž๋ฃŒ๊ตฌ์กฐ1] STACK ์Šคํƒ (๋ฐฐ์—ด, ์—ฐ๊ฒฐ) 1. ๋ฐฐ์—ด STACK Code #include #include #define N 10 typedef int element; //๋‚˜์ค‘์— int๋งŒ char ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋จ element stack[N];// ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋„ ๋‚˜์ค‘์— ๋ฐ”๊ฟ€ ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ๊นŒ int top = -1; // ๋…ธ๋“œ ์‚ฝ์ž… void push(int value){ if(top>=N -1){ printf("stack overflow"); exit(1); } top++; stack[top] = value; } //๊ฐ’์„ ์‚ฝ์ž…ํ•˜๋Š” ํ•จ์ˆ˜ // ๋…ธ๋“œ ์‚ญ์ œ element pop(){ if (topdata = value; news -> link = top; top = news; } //0: ๊บผ์ง ๊ฑฐ์ง“ ์•„๋ฌด๊ฒƒ๋„ ์—†์Œ NULL(0) = ๊บผ์ง, ๊ฑฐ์ง“ //1: ์ผœ์ง.. 2023. 7. 19.