본문 바로가기

분류 전체보기

(284)
자료구조] string 내에서 지정된 문자열 검색 #include #include #include #define MAX_STRING_SIZE 100000000 #define MAX_PATTERN_SIZE 3000 void pmatch(char*, char*); void fail(char*); int failure[MAX_PATTERN_SIZE]; char str[MAX_STRING_SIZE]; char pat[MAX_PATTERN_SIZE]; int set[MAX_PATTERN_SIZE]; void main() { errno_t err3, err4; // FILE * pt; FILE * st; FILE* pt; //= fopen("pattern.txt", "rt"); FILE* st; //= fopen("string.txt", "rt"); err3 = ..
자료구조] 크루스칼 그린 다음, 전부 잘 연결 되었는지 확인하는 함수 #include #include #include #include #define MAX_EDGES 50000000 //오천만 반드시 수정 #define MAX_VERTICES 10000 #define TRUE 1 #define FALSE 0 #define HEAP_FULL(n) (n == MAX_EDGES-1) //간선의 정보를 담는 힙 #define HEAP_EMPTY(n) (!n) int numVertices; int numEdges; //int currWeight = 0; typedef struct edge { int from, to; int weight; }edge; edge e[MAX_EDGES]; //간선 노드 struct node { int vertex; int visit; struct nod..
자료구조] 다익스트라 + 스택을 이용한 경로추적 #include #include #include #include #define INT_MAX 1000000000 // 최대 정수 #define TRUE 1 #define FALSE 0 #define MAX_EDGES 100000000 //일억개 정점 #define MAX_VERTICES 10000 int stack[MAX_VERTICES]; int uarray[MAX_VERTICES]; int num=0; int top = -1; int numVertices; int numEdges; int IsEmpty() { if (top = MAX_VERTICES - 1) return TRUE; else return FALSE; } void push(int value) { if (IsFull() == TRUE) p..
어셈블리] 문자열을 입력한 다음 spacebar 기준으로 거꾸로 출력하기 .data str1 BYTE "Input: ", 0 str2 BYTE "Output: ", 0 str3 BYTE 60 DUP(?) str4 BYTE 60 DUP(?) var1 BYTE 0 ;-------------------------코드----------------------------- .code main PROC L0: mov edx, OFFSET str1 call WriteString mov ecx, LENGTHOF str3 mov edx, OFFSET str3 call ReadString cmp eax, 40 ja L0 mov esi, 0 cmp str3[esi], 0 je L5 mov ecx, LENGTHOF str3 mov edi, 0 L1: movzx eax, str3[esi] cmp st..