• 전문가 요청 쿠폰 이벤트
*종*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 10
검색어 입력폼
  • [자료구조] Polynomial 평가D별로예요
    #include #define MAX_TERM 100typedef struct { /* Term: 항을 정의한다 */int nCoef;int nExpon;} Term;typedef Term Polynomial[MAX_TERM+2]; /* Polynomial: 다항식을 정의한다 */void main(){Polynomial polyA, polyB, polyC, PolyD;int InputPolynomial(Polynomial A, char *szMsg);void OutputPolynomial(Polynomial A, char *szMsg);int Attach(Polynomial aPoly, int nCoef, int nExpon);int AddPolynomial(Polynomial A, Polynomial B, Polynomial C);void SimpleMulPolynomial(Polynomial A, int nCoef, int nExpon, Polynomial B);int MultiplyPolynomial(Polynomial A, Polynomial B, Polynomial C);while (1) {if (InputPolynomial(polyA, "A") == 0)break;if (InputPolynomial(polyB, "B") == 0)break;polyC[0].nCoef = polyD[0].nCoef = 0; // 다항식 초기화AddPolynomial(polyA, polyB, polyC);MultiplyPolynomial(polyA, polyB, polyD);OutputPolynomial(polyA, "A(X) = ");OutputPolynomial(polyB, "B(X) = ");OutputPolynomial(polyC, "C(X) = ");OutputPolynomial(polyD, "D(X) = ");fprintf(stderr, "n멈추기 위해서는 항의 갯수를 0으로 입력하세요n"); }}int Attach(Polynomial aPoly, int nCoef, int nExpon){// 저장할 공간이 있는지 조사하여 다항식의 끝에 한 항을 저장한다.// 성공이면 true를, 실패하면 false를 return한다.if (aPoly[0].nCoef > MAX_TERM)return false;aPoly[0].nCoef+1 = aPoly[0].cCoef// (aPoly[0].nCoef + 1)의 위치에 다항식을 저장하고// aPoly[0].nCoef의 값을 조정한다. 끝 표시 -1은 모두 끝내고 한번만 저장한다.return true;}int AddPolynomial(Polynomial polyA, Polynomial polyB, Polynomial polyC){int nCtrA = 1, nCtrB = 1, nCtrC = 1;while (aPoly[0].nCoef!=-1) {}???????return true; /* 성공이면 true를, 실패하면 false를 return한다 */}void SimpleMulPolynomial(Polynomial A, int nCoef, int nExpon, Polynomial B){// 다항식 A와 한 항(nCoef, nExpon)을 곱하여 다항식 B에 저장한다.}int MultiplyPolynomial(Polynomial A, Polynomial B, Polynomial C){// SimpleMulPolynomial을 이용하여 두 다항식A, B를 곱하여 C에 저장한다.// 성공이면 true를, 실패하면 false를 return한다.return true;}int CheckPolynomial(Polynomial aPoly) /* 다항식이 올바르게 입력되었는지 조사 */{if (aPoly[0].nCoef < 0) {fprintf(stderr, "항의 수가 잘못 되었습니다.n");return false;}int nExpon = aPoly[1].nExpon + 1;int bRight = true;for (int i = 1; i
    공학/기술| 2003.06.21| 3페이지| 1,000원| 조회(621)
    미리보기
  • [경영] 히딩크와 월마트의 물류/정보/위성 기술
    ..PAGE:1CEO 히딩크 vs 샘 월튼9921943 이재현200120908 이순택200201386 이종훈..PAGE:2목 차새로운 패러다임한국축구와 후발업자 월마트한계의 극복월마트의 획기적 물류운영 시스템..PAGE:3HistoryPerformance1962 : Rosers, ARK에서 할인점으로 Open- Big flat warehouse store- Apprel to automotive supplies- Very low price1980 년대 중반 : National Retailer로 발전1983 : SAM’s Club Open1988 : Supercenter Open1991 : First International Store Open(Mexico)1997 : $ 100 bil/annual sales 달성- KMART, J.C. Penny, Sears 합계매출보다 큼세계 제 1위의 Retailer, 포츈지 선정 6위 (‘98)미국 자동차 오일의 1/4 판매,2초마다 Barbie Doll 인형 1개씩 판매1970년 $1,650의 주식소유자==> 1999년 $ 5.1 mil 가치Sales : $ 137.6 bil(98)매출 성장율 : 17.3 %Profit : $ 3.5 bil (98)Wal-Mart Store : 2,435개(Supercenter포함)Sam’s club : 451개, International : 715개고객 : 9천만명, 종업원 : 910,000명출처 : www.wal-mart.comwal-mart 98 annual report..PAGE:41. 새로운 패러다임히딩크 토 털 사 커샘월튼 상시저가판매..PAGE:52. 한국축구와 후발업자 월마트한 국 축 구 : 개인기(85점)전 술(30점)기 타(45점)월 마 트 : 자본적 열세K_mart 선점이후의 후발업자..PAGE:63. 한계의 극복효율적 물류운영 시스템의 도입저가 입지 조건 지역에 사업기반 세움월 마 트한국 전통적 축구와 현대축구의 조화로운 병합토털사커의 핵심요소를 500일간훈련한 국 축 구..PAGE:74. 월마트의 획기적 물류운영 시스템크로스토킹 배송 시스템바코드 시스템EDI 채택POS 시스템스캐너 자동발주 시스템위성통신 시스템..PAGE:8※ Cross Docking 배송 시스템배달된 상품을 수령하는 즉시 중간 저장단계가 거의 없거나 전혀 없이 배송지점으로 배송하는 것을 말한다.검수자배송저장창고고객 또는 배송처..PAGE:9※ Cross Docking 배송 시스템컨베이어Multi-Pallet컨베이어컨베이어컨베이어Cross DockCross DockDe-PalletNon-Conveyable집하대기소분류기입하Dock출하Dock..PAGE:10※ POS System..PAGE:11※ POS System..PAGE:12※ POS System 의 기대효과고객 입장에서▶ 계산을 위한 대기시간 단축과 고객 신뢰도를 향상시킬 수 있음▶ 고품질 및 신선한 상품의 구매기회를 확대할 수 있음▶ 다양한 고객 편의를 제공하고 서비스 혜택을 확대할 수 있음매장 입장에서▶ 신속, 정확한 판매계산과 정산 시간을 단축할 수 있음▶ 효율적인 고객관리와 매장관리를 할 수 있음▶ 인기상품, 신상품의 품절을 최소화할 수 있음▶ 상품의 재고파악이 쉽고 상품의 발주체계가 간단함..PAGE:13E D I정의거래 당사자간에 서로 합의한 표준화된 전자문서를 컴퓨터와 컴퓨터간에 서로 교환하여 정보를 전달하는 방식
    경영/경제| 2002.11.24| 15페이지| 1,000원| 조회(537)
    미리보기
  • [자료구조] 그래프탐색
    #include #include #include #define NoVERTEX 8typedef int Element;typedef struct node { // 큐에서 노드로 사용한다.int data; // 저장되는 데이타struct node *link; // 다음 노드에 대한 포인터} Node, *NodePtr;typedef struct queue { // 큐의 변수를 정의할 타입struct node *pFront; // 제일 앞의 노드를 가리킨다struct node *pRear; // 제일 뒤의 노드를 가리킨다} Queue, *QueuePtr;typedef struct edge { // Graph에서 edge로 사용한다.int vertex;struct edge *link;} Edge, *EdgePtr, *Graph;short bVisited[NoVERTEX];Graph aGraph[NoVERTEX];void main(){int LinkEdge(int nVertex, int nCtr, ...);LinkEdge(0, 2, 1, 2); // 정점 0에, 두 개의 링크, 1, 2를 연결LinkEdge(1, 3, 0, 3, 4); // 정점 1에, 세 개의 링크, 0, 3, 4를 연결LinkEdge(2, 3, 0, 5, 6); // 정점 2에, 세 개의 링크, 0, 5, 6을 연결LinkEdge(3, 2, 1, 7); // 정점 3에, 두 개의 링크, 1, 7을 연결LinkEdge(4, 2, 1, 7); // 정점 4에, 두 개의 링크, 1, 7을 연결LinkEdge(5, 2, 2, 7); // 정점 5에, 두 개의 링크, 2, 7을 연결LinkEdge(6, 2, 2, 7); // 정점 6에, 두 개의 링크, 2, 7을 연결LinkEdge(7, 4, 3, 4, 5, 6); // 정점 7에, 네 개의 링크, 3, 4, 5, 6을 연결while (1) {void DFS(int nStart);void BFS(int nStart);int nStart;char sCmnd[10];printf("nnStarting Vertex ? ");gets(sCmnd);nStart = atoi(sCmnd);if (*sCmnd == NULL || nStart < 0 || nStart >= NoVERTEX)break;for (int i = 0; i < NoVERTEX; i++)bVisited[i] = false;printf("DFS: ");DFS(nStart);for (i = 0; i < NoVERTEX; i++)bVisited[i] = false;printf("nBFS: ");BFS(nStart);}}int LinkEdge(int nVrtx, int nCtr, ...){EdgePtr pLast = NULL;va_list position;va_start(position, nCtr ); // nCtr 뒤의 ... 파라미터를 받기 위한 준비int bSucc = true;for (int i = 0; i < nCtr; i++) {int nVertex = va_arg(position, int); // ... 파라미터 받기 시작EdgePtr pEdge = (EdgePtr)malloc(sizeof(Edge));if (pEdge) {pEdge->vertex = nVertex;if (pLast)pLast->link = pEdge;elseaGraph[nVrtx] = pEdge;pLast = pEdge;}elsebSucc = false;}pLast->link = NULL;va_end(position); // nCtr 뒤의 ... 파라미터를 받는 것을 끝낸다.return bSucc;}void DFS(int nStart){// 깊이우선탐색을 하면서 방문하는 정점을 출력한다.EdgePtr v;bVisited[nStart] = true;printf("%5d",nStart);for(v=aGraph[nStart];v;v=v->link)if(!bVisited[v->vertex])DFS(v->vertex);}void BFS(int nStart){// 넓이우선탐색을 하면서 방문하는 정점을 출력한다.bool AddQueue(QueuePtr pQueue, Element data);bool DeleteQueue(QueuePtr pQueue, Element& data);EdgePtr v;QueuePtr where = (QueuePtr)malloc(sizeof(Queue));where->pFront = where->pRear = NULL;printf("%5d",nStart);bVisited[nStart] = true;AddQueue(where, nStart);while(where->pFront){DeleteQueue(where,nStart);for(v=aGraph[nStart];v;v=v->link)if(!bVisited[v->vertex]){printf("%5d",v->vertex);AddQueue(where, v->vertex);bVisited[v->vertex]=true;}}}bool AddQueue(QueuePtr pQueue, Element data){// Queue를 linked list로 표현하는데, data를 큐에 넣는다.// vertex가 저장하는데, 성공하면 true, 실패하면 false를 return한다.Node *Buffer = (Node *)malloc(sizeof(Node));Buffer->data = data;Buffer->link = NULL;if(pQueue->pFront == NULL)pQueue->pFront = Buffer;elsepQueue->pRear->link = Buffer;pQueue->pRear = Buffer;return true;}bool DeleteQueue(QueuePtr pQueue, Element& data){// Queue를 linked list로 표현하는데, 저장된 data를 큐에서 가지고 온다.// 저장된 vertex를 data에 두는데, 성공하면 true, 실패하면 false를 return한다.Node *a;
    공학/기술| 2003.06.21| 3페이지| 1,500원| 조회(626)
    미리보기
  • [자료구조] 이진탐색트리
    #include #include #include typedef struct tree {char sName[7]; // 이름char sBirthday[11]; // 생년월일 2002.06.04char sPosition[3]; // 포지션char sTeam[15]; // 소속팀struct tree *lChild;struct tree *rChild;} Tree, *NodePtr;void main(){Tree *MakeSearchTree(void);Tree *pTree = MakeSearchTree();NodePtr SearchTree(Tree *pTree, char *sName);while (1) {void SwapTree(Tree *pTree);bool LevelOrderTraverse(Tree *pTree);void InOrder(Tree *pTree);char sCmnd[10];printf("? ");gets(sCmnd); // 명령을 입력한다.if (*sCmnd == NULL) // 아무런 명령이 없으면break;else if (*sCmnd == 's') // 트리의 왼쪽과 오른쪽 자식을 바꾼다SwapTree(pTree);else if (*sCmnd == 'l') // level order traverse하면서 선수 이름을 출력한다.LevelOrderTraverse(pTree);else if (*sCmnd == 'i') // inorder traverse하면서 선수 이름을 출력한다.InOrder(pTree);else { // 검색할 선수의 이름으로 간주NodePtr pNode = SearchTree(pTree, sCmnd); // 검색을 한다.if (pNode) {printf("이 름: %sn", pNode->sName);printf("생년월일: %sn", pNode->sBirthday);printf("포 지 션: %sn", pNode->sPosition);printf("소 속: %snn", pNode->sTeam);}elseprintf(" No nn");}}}Tree *MakeSearchTree(){Tree *InsertNode(Tree *pTree, char *sPosition, char *sName, char *sBirthday, char *sTeam);Tree *pTree = NULL;pTree = InsertNode(pTree, "MF", "이천수", "81.07.09", "울산");pTree = InsertNode(pTree, "FW", "설기현", "79.01.08", "안더레흐트");pTree = InsertNode(pTree, "DF", "이기형", "74.09.28", "성남");pTree = InsertNode(pTree, "DF", "왕정현", "76.08.30", "안양");pTree = InsertNode(pTree, "DF", "최성용", "75.12.15", "수원");pTree = InsertNode(pTree, "GK", "이운재", "73.04.26", "수원");pTree = InsertNode(pTree, "GK", "김용대", "79.10.11", "부산");pTree = InsertNode(pTree, "MF", "박지성", "81.02.25", "PSV");pTree = InsertNode(pTree, "FW", "조재진", "81.07.09", "광주");pTree = InsertNode(pTree, "DF", "최진철", "71.03.26", "전북");pTree = InsertNode(pTree, "MF", "김두현", "82.01.04", "수원");pTree = InsertNode(pTree, "MF", "김남일", "77.03.14", "엑셀시오르");pTree = InsertNode(pTree, "DF", "김영철", "76.06.30", "광주");pTree = InsertNode(pTree, "DF", "김태영", "70.11.08", "전남");pTree = InsertNode(pTree, "DF", "박충균", "73.06.23", "성남")ertNode(pTree, "FW", "안정환", "76.02.16", "시미즈");pTree = InsertNode(pTree, "MF", "유상철", "71.10.18", "울산");pTree = InsertNode(pTree, "DF", "이영표", "77.04.23", "PSV");pTree = InsertNode(pTree, "MF", "이을용", "75.09.08", "트라브존스포르");pTree = InsertNode(pTree, "DF", "조병국", "81.07.01", "수원");pTree = InsertNode(pTree, "FW", "차두리", "80.07.25", "빌레펠트");pTree = InsertNode(pTree, "FW", "최용수", "73.09.10", "이치하라");pTree = InsertNode(pTree, "MF", "최태욱", "81.03.13", "안양");return pTree;}Tree *InsertNode(Tree *pTree, char *sPosition, char *sName, char *sBirthday, char *sTeam){// 트리에 하나의 노드를 삽입한다.// 이미 존재하면 아무런 일을 하지 않는다.NodePtr SearchTree(Tree *pTree, char *sName);NodePtr ptr,temp=SearchTree(pTree,sName);if(temp||!(pTree)){ptr=(NodePtr)malloc(sizeof(tree));strcpy(ptr->sName, sName);strcpy(ptr->sPosition, sPosition);strcpy(ptr->sBirthday, sBirthday);strcpy(ptr->sTeam, sTeam);ptr->lChild=ptr->rChild=(NodePtr)NULL;if(pTree){if(strcmp(sName, temp->sName)lChild=ptr;else temp->rChild=ptr;}else pTree=ptr;}return pT SearchTree(Tree *pTree, char *sName){// 탐색트리에서 sName을 가진 선수를 찾아 그 노드를 return한다.// 그 선수가 없으면 NULL을 return한다.NodePtr parent = NULL;while(pTree){if(strcmp(sName, pTree->sName) == 0) return pTree;if(strcmp(sName, pTree->sName) < 0){parent=pTree;pTree=pTree->lChild;}else{parent=pTree;pTree=pTree->rChild;}SearchTree(pTree, sName);}return parent;}void InOrder(Tree *pTree){// inorder 순회if(pTree){InOrder(pTree->lChild);printf("%st", pTree->sName);printf("%st", pTree->sBirthday);printf("%st",pTree->sPosition);printf("%st",pTree->sTeam);printf("n");InOrder(pTree->rChild);}}void SwapTree(Tree *pTree){// 이진트리의 모든 노드의 오른쪽과 왼쪽 자식을 서로 바꾼다.// 즉 거울 비친 모습의 이진트리로 변환한다.NodePtr temp;if(pTree!=NULL){temp=pTree->lChild;pTree->lChild=pTree->rChild;pTree->rChild=temp;SwapTree( pTree->lChild );SwapTree( pTree->rChild );}}typedef Tree * Element;typedef struct node { // 큐에서 노드로 사용한다.Element data; // 저장되는 데이타struct node *link; // 다음 노드에 대한 포인터} Node;typedef struct queue { // 큐의 변수를 정의할 타입struct node *pFront; 가르킨다struct node *pRear; // 제일 뒤의 노드를 가르킨다} Queue, *QueuePtr;bool AddQueue(Queue& aQueue, Element data){// AddQueue를 Node의 linked list로 표현한다.// 트리에 대한 포인터가 데이타에 저장되는데 큐는 reference 타입을 사용한다.// 성공하면 true, 실패하면 false를 return한다.Node *Buffer = (Node *)malloc(sizeof(Node));Buffer->data = data;Buffer->link = NULL;if(aQueue.pFront == NULL)aQueue.pFront = Buffer;elseaQueue.pRear->link = Buffer;aQueue.pRear = Buffer;return true;}bool DeleteQueue(Queue& aQueue, Element& anItem){// DeleteQueue를 Node의 linked list로 표현한다.// 저장된 트리에 대한 포인터를 anItem 저장한다.// 성공하면 true, 실패하면 false를 return한다.Node *a;if(aQueue.pFront == NULL)return false;else{anItem = aQueue.pFront->data;a = aQueue.pFront;aQueue.pFront = aQueue.pFront->link;free((node*)a);return true;}}bool LevelOrderTraverse(Tree *pTree){// 강의노트 알고리즘 참고// 위의 AddQueue, DeleteQueue를 linked list로 표현한다.// 성공하면 true, 실패하면 false를 return한다.Queue aQueue;aQueue.pFront = aQueue.pRear = 0;if(pTree == NULL) return false;AddQueue(aQueue, pTree);while(1){if(DeleteQueue(e))
    공학/기술| 2003.06.21| 5페이지| 1,000원| 조회(839)
    미리보기
  • [자료구조] TREE
    #include #include #include #include #define ISP 1#define ICP 2#define STACK_SIZE 40#define EXPR_SIZE 100#define OPERANDS 26#define NegINFINITY '?'typedef struct stack1 {int nOperand; // 피연산자를 저장struct stack1 *link;} Stack1, *Stack1Ptr;typedef struct stack2 {int nOperator; // 연산자를 저장struct stack2 *link;} Stack2, *STack2Ptr;typedef struct node1 { // 스택을 linked ist로 표현하기 위한 노드int nData;struct node1 *next;} StackNode, *StackPtr;typedef struct node2 { // 트리를 위한 노드int nData;struct node2 *lChild;struct node2 *rChild;} TreeNode, *TreePtr;bool Push(Stack1Ptr &pStack, int nOperand);bool Pop(Stack1Ptr &pStack, int& nOperand);bool Push(STack2Ptr &pStack, int nOperator);bool Pop(STack2Ptr &pStack, int &nOperator);bool TopItem(STack2Ptr &pStack, int &nOperator); // 연산자 스택의 top 원소를 return한다.void main(){char sInfix[EXPR_SIZE]; // infix 수식을 입력받기 위하여int nValues[OPERANDS] = {1, 2, 3, 4, 5,}; // 피연산자의 값을 저장하기 위하여int *pTokenValues = nValues - 'A'; // 피연산자 실제값의 색인을 그대로 사용하기 위하여while (1) { // 즉 피연산자 'A'의 값은 se if (strchr("!*/%+-=~&^|()", *pExpr) == NULL) // operatorisMore = true; // 식에 Error가 있음}if (isMore)printf("No good....n"); // 잘못된 식임을 출력}}TreePtr pTree = Infix2Tree(sInfix); // infix를 tree로 변환하고if (pTree) { // 성공하면void PreOrder(TreePtr pTree);void InOrder(TreePtr pTree);void PostOrder(TreePtr pTree);void FreeTree(TreePtr pTree);bool EvalExprTree(TreePtr pExprTree, int *pTokenValues, int& nValue);// Preorder traversalprintf(" Preorder Traversal: ");PreOrder(pTree);// Inorder traversalprintf("n Inorder Traversal: ");InOrder(pTree);// Postorder traversalprintf("nPostorder Traversal: ");PostOrder(pTree);// evaluation for an expression treeint nValue;if (EvalExprTree(pTree, pTokenValues, nValue)) // 계산하여 성공하면printf("nExpression value : %dn", nValue);elseprintf("nEvaluation error.n");FreeTree(pTree);}elseprintf("Error....n");}}void GetOperands(int *pValues) // 수식에 사용할 피연산자 값을 입력한다.{for (int i = 0; i < OPERANDS; i++) { // 피연산자 A부터 Z까지int nVal;char values[20];printf("%c ? ", i + 'A')andNode(StackPtr &pOprndStack, int nOperand);bool OperatorNode(StackPtr &pOprndStack, int nOpr);int nOp;StackPtr pOprStack = NULL; // 연산자 스택의 초기화StackPtr pOprndStack = NULL; // 피연산자 스택의 초기화Push(pOprStack, (int)NegINFINITY); // 제일 바닥에 -무한대를 넣는다.sInfix--;while (*++sInfix) {int nOp;if (*sInfix >= 'A' && *sInfix = icp) { // 높거나 같으면if (Pop(pOprStack, nOp))OperatorNode(pOprndStack, nOp); // 출력if (TopItem(pOprStack, nOp) == false || // 꼭데기의 연산자를 살짝 보고Priority(nOp, ISP, isp) == false) // 그 연산자의 우선순위를 가져보고return false;}Push(pOprStack, *sInfix); // 자신은 조용히 스택에 들어간다.}}while (pOprStack) // 스택에 있는 나머지 연산자들에 대하여if (Pop(pOprStack, nOp) && nOp != NegINFINITY) // Pop하여OperatorNode(pOprndStack, nOp); // 출력TreePtr pExprTree;if (Pop(pOprndStack, (int&)pExprTree) && // 피연산자 스택에 수식 트리IsEmpty(pOprndStack)) // 그리고 오직 하나만return pExprTree;return NULL;}bool OperandNode(StackPtr& pOprndStack, int nOperand){/** 1. 트리 노드를 위한 메모리를 할당받고* 2. 그 노드의 데이타에 nOperand를 저장하고, 두 링크는 NULL로 한다* 3. operand stack에 그 새로운 노드를 push한다){/** 1. 트리 노드를 위한 메모리를 할당받고* 2. 그 노드의 데이타에 nOpr를 저장하고* 3. operand stack을 pop하여 rChild에 연결하고,* 4. unary 연산자가 아니면 operand stack을 pop하여 lChild에 연결하고,* 5. operand stack에 그 새로운 노드를 push한다.* 6. 성공하면 true, 실패하면 false를 return한다.* 참고로 피연산자가 하나인 unary 연산자(NOT,!)는 rChild에 연결하고 lChild는 NULL을 저장한다.*/bool Push(StackPtr &pStack, int nValue);bool Pop(StackPtr &pStack, int& nValue);//1TreePtr Tree;Tree = (TreePtr)malloc(sizeof(TreePtr));//2Tree->nData = nOpr;//3Pop(pOprndStack, (int&)Tree);//4if(pOprndStack->nData != '!'){Pop(pOprndStack, (int&)Tree->lChild);}else{Pop(pOprndStack, (int&)Tree->rChild);Tree->lChild = NULL;}//5Push(pOprndStack, (int)Tree);//6return true;}bool EvalExprTree(TreePtr pExprTree, int *pValues, int& nValue){/** 1. 피연산자 노드이면 pValues에서 값을 nValue에 넣는다.* 2. 연산자이면 lChild를 계산하여 nValue1에, rChild를 nVlaue2에 넣고,* 각각의 연산자에 따라 nValue1과 nValue2를 계산하여 nValue에 넣는다.* 3. 성공하면 true, 실패하면 false를 return한다.* 참고로 피연산자가 하나인 unary 연산자(NOT,!)는 rChild만 계산하여 nValue에 넣는다.* NULL인 경우도 체크할 것.*/int nValue1, n}void PostOrder(TreePtr pTree){// postorder로 순회한다.if(pTree){PostOrder(pTree->lChild);PostOrder(pTree->rChild);printf("%c",pTree->nData);}}void FreeTree(TreePtr pTree){// 트리의 모든 노드들을 free 시킨다.free(pTree);}bool IsEmpty(StackPtr pStack){// 스택이 비어 있으면 true를 return한다.if(pStack == NULL) return true;return false;}bool Push(StackPtr& pStack, int nValue){// 성공적으로 Push하면 true를 return한다.if(!IsEmpty(pStack)) return false;else{pStack->nData = nValue;pStack->next = pStack->next+1;}return true;}bool Push(Stack1Ptr& pStack, int nValue){pStack->nOperand = nValue;++pStack->link;return true;}bool Push(STack2Ptr& pStack, int nValue){pStack ->nOperator = nValue;++pStack->link;return true;}bool Pop(StackPtr& pStack, int &nValue){// 꼭데기 원서를 nValue에 전달한다// 성공하면 true, 실패하면 false를 return한다.if(IsEmpty(pStack)) return false;nValue = pStack->nData;pStack->next--;return true;}bool TopItem(StackPtr pStack, int &nValue){// 스택은 아무런 변화가 없고 꼭데기 원소를 nValue에 전달한다.// 성공하면 true, 실패하면 false를 return한다.if(IsEmpty(pStack)) retu0}};
    공학/기술| 2003.06.21| 8페이지| 1,000원| 조회(308)
    미리보기
전체보기
받은후기 1
1개 리뷰 평점
  • A+최고예요
    0
  • A좋아요
    0
  • B괜찮아요
    0
  • C아쉬워요
    0
  • D별로예요
    1
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 04월 18일 토요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
12:42 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감