목록분류 전체보기 (33)
dew's CSE Studying
#1 프로시저 swap void swap(int v[], int k) { int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } [레지스터 할당] v=$a0, k=$a1, temp=$t0 [프로그램 변수에 레지스터 할당] 인수: v=$a0, k=$a1 // 변수: temp=$t0 [프로시저 본체] swap: sll $t1, $a1, 2 #reg $t1 = a1(k)*4 add $t1, $a0, $t1 #reg $t1 = k*4 + v(base address) lw $t0, 0($t1) #$t0=v[k] lw $t2, 4($t1) #$t2=v[k+1] #refers to next element of v sw $t2, 0($t1) v[k] = reg $t2 sw $..
LAB 1: 단어들을 저장하는 연결리스트 #define _CRT_SECURE_NO_WARNINGS #include #include #include typedef struct { char name[100]; }element; typedef struct ListNode { element data; struct ListNode* link; }ListNode; //오류처리함수 void error(char* message) { fprintf(stderr, "%s\n", message); exit(1); } //INSERT_FIRST ListNode* insert_first(ListNode* head, element value) { ListNode* p = (ListNode*)malloc(sizeof(ListNod..
1.괄호 검사의 조건 ①왼쪽 괄호의 개수 = 오른쪽 괄호의 개수 ②같은 종류의 괄호에서 왼쪽 괄호가 더 먼저 나와야 함 ③서로 다른 종류의 왼쪽 괄호와 오른쪽 괄호 쌍은 서로를 교차X ex. {A[(i+1)]=0;} ->오류 없음 if ((i==0) && (j==0) ->오류: 조건 1 위반 A[(i+1])=0; ->오류: 조건 3 위반 2.괄호 검사 구현 알고리즘 ①왼쪽 괄호를 만나면 -> 스택에 삽입 ②오른쪽 괄호를 만나면 a.스택에서 맨 위의 괄호를 꺼낸 후 b.오른쪽 괄호와 짝이 맞는지 검사 3.괄호 검사 프로그램 #include #include #include #define MAX_STACK_SIZE 100 //스택코드 삽입 typedef char element; typedef struct { ..