디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

소스 다 올려볼게여 - -;

ㅇㅇ(58.121) 2010.11.04 02:12:13
조회 93 추천 0 댓글 3

#include <iostream>
#include <cstring>
using namespace std;

struct Node{
 struct Node *prev;
 char name[20];
 struct Node *next;
};

struct DLinkedList{
 struct Node *left;
 struct Node *right;
 struct Node *data;
 int len;
};

void Create_Node(DLinkedList &DLL);
Node* Input_Node(DLinkedList &DLL, char* value);
Node* Insert_After(DLinkedList &DLL, char* front_node, char* value);
Node* Search_Node(DLinkedList &DLL, char* value);
void Delete_Node(DLinkedList &DLL, char* value);
Node* Invert_Node(DLinkedList &DLL);
void Concatenate_Node(DLinkedList &DLL, DLinkedList &DLL2, DLinkedList &DLL3);
void Print_Node(DLinkedList &DLL);

int main(void)

 int n;
 struct DLinkedList DLL1;
 struct DLinkedList DLL2;
 struct DLinkedList DLL3;
 char name1[30];
 char name2[30];
 Create_Node(DLL1);
 Create_Node(DLL2);
 
 while(1)
 {
  cout << "───────────────" << endl;
  cout << "1. Creat Doubly Linked List 1" << endl;
  cout << "2. Creat Doubly Linked List 2" << endl;
  cout << "3. Insert Data " << endl;
  cout << "4. Search Data" << endl;
  cout << "5. Delete Data" << endl;
  cout << "6. Invert Data" << endl;
  cout << "7. Concatenate Data" << endl;
  cout << "8. Print Doubly Linked List" << endl;
  cout << "───────────────" << endl;
  cout << "Select number : ";
  cin >> n;
  switch(n)
  {
  case 1:
   cout << "Input Data : ";
   cin >> name1;
   Input_Node(DLL1, name1);
   break;
  case 2:
   cout << "Input Data : ";
   cin >> name1;
   Input_Node(DLL2, name1);
   break;
  case 3:
   cout << "What Node After? : ";
   cin >> name1;
   cout << "What Node Insert? : ";
   cin >> name2;
   Insert_After(DLL1, name1, name2);
   break;
  case 4: 
   cout << "Input Data : ";
   cin >> name1;
   Search_Node(DLL1, name1);
   break;
  case 5:
   cout << "Delete Data : ";
   cin >> name1;
   Delete_Node(DLL1, name1);
   break;
  case 6:
   cout << "Invert Node" << endl;
   Invert_Node(DLL1);
   break;
  case 7:
   cout << "Concatenate Node" << endl;
   Concatenate_Node(DLL1, DLL2, DLL3);
   break;
  case 8:
   cout<<"───────────────"<<endl;
   Print_Node(DLL1);
   cout<<"───────────────"<<endl;
   break;
  case 9:
   break;
  }
  
  if(n == 9) break;
 }
 
 return 0;
}

void Create_Node(DLinkedList &DLL)
{
 DLL.left = new Node;
 DLL.right = new Node;
 
 DLL.left->next = DLL.right;
 DLL.left->prev = DLL.left;
 
 DLL.right->next = DLL.right;
 DLL.right->prev = DLL.left;
 
 DLL.len = 0;
 DLL.data = NULL;
}

Node* Input_Node(DLinkedList &DLL, char* value)
{
 DLL.data = new Node;
 
 DLL.data->next = DLL.right;
 DLL.data->prev = DLL.right->prev;
 
 DLL.data->prev->next = DLL.data;
 DLL.right->prev = DLL.data;
 DLL.len++;
 strcpy(DLL.data ->name, value);
 
 return DLL.data;
}

Node* Insert_After(DLinkedList &DLL, char* front_node, char* value)
{
 Node* new_Node = new Node;
 int i;
 
 DLL.data = DLL.left->next;
 for(i=0; i<DLL.len; i++)
 {
  if(strcmp(DLL.data->name, front_node)==0) break;
  DLL.data = DLL.data->next;
 }
 
 new_Node->next = DLL.data->next;
 DLL.data->next->prev = new_Node;
 
 new_Node->prev = DLL.data;
 DLL.data->next = new_Node;
 
 DLL.len++;
 strcpy(new_Node->name, value);
 
 return DLL.data;
}

Node* Search_Node(DLinkedList &DLL, char* value)
{
 int i;
 DLL.data = DLL.left->next;
 
 for(i=0 ; i<DLL.len; i++)
 { 
  if(strcmp(DLL.data->name, value)==0) 
  {
   cout << value << " is in " << DLL.len << " Node" << endl;
  }
  DLL.data = DLL.data->next;
 }
 
 return DLL.data;
}
void Delete_Node(DLinkedList &DLL, char* value)
{
 int i=0;
 DLL.data = DLL.left->next;
 
 for(i=0 ; i<DLL.len; i++){
  if(strcmp(DLL.data->name, value)==0)
  {
   DLL.data->prev->next = DLL.data->next;
   DLL.data->next->prev = DLL.data->prev;
   
   delete DLL.data;
   DLL.len--;
   break;
  }
  
  DLL.data = DLL.data->next;
 }
}

Node* Invert_Node(DLinkedList &DLL)
{
 int i;
 DLinkedList p;
 DLinkedList temp;
 p = DLL;
 
 for(i=p.len; i<=0; i--){
  p.data->prev = p.left;
  p.data->next = temp.data;

  temp.data->prev = p.data;
  temp.data->next = temp.right;

  p= temp;
 }
 
 p.data = p.left->next;
 
 for(i=p.len; i<=0; i--)
 {
  cout << i+1 << " " << p.data->name << endl;
  p.data = p.data->next;
 }
 
 DLL = p;
 return DLL.data;
}

void Concatenate_Node(DLinkedList &DLL, DLinkedList &DLL2, DLinkedList &DLL3)
{
 int i;
 
 if(DLL.data->name == NULL){
  DLL3 = DLL2;
  cout << DLL3.data->name << endl;
 }
 else{
  DLL3 = DLL;
  if(DLL2.data->name != NULL)
  {
   DLL3.data = DLL3.left->next;
   
   for(i=0; i<DLL3.len; i++)
   {
    cout << i+1 << " " << DLL3.data->name << endl;
    DLL3.data = DLL3.data->next;
   }
  }
  DLL2.data = DLL2.left->next;
  
  for(i=0; i<DLL2.len; i++)
  {
   cout << i+1 << " " << DLL2.data->name << endl;
   DLL2.data = DLL2.data->next;
  }
 }
}

void Print_Node(DLinkedList &DLL)
{
 int i;
 DLL.data = DLL.left->next;
 
 for(i=0; i<DLL.len; i++)
 {
  cout << i+1 << " " << DLL.data->name << endl;
  DLL.data = DLL.data->next;
 }
}


;;;;;;;;;;;;

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 비난 여론에도 뻔뻔하게 잘 살 것 같은 스타는? 운영자 24/06/03 - -
227431 덕짤을 싸자 덕짤을 싸자 [4] 땡칠도사갤로그로 이동합니다. 10.12.28 73 0
227430 프갤러님들 저 입갤 ^----^*** [1] 게임핵(221.162) 10.12.28 55 0
227428 아 ㅆㅂ 프갤 글리젠 여전히 빠르네... [4] 삼퀄(125.141) 10.12.28 77 0
227427 아 고3이라 공부해야되는데 [2] 퓨틱갤로그로 이동합니다. 10.12.28 55 0
227426 하지만..답변을안해줘도 프갤러 너흴 이제 미워하지않을게 [2] 게임핵(221.162) 10.12.28 63 0
227425 아 씨발 서울우유치즈 존나 맛없네 ㅠㅠ [2] 게임핵(221.162) 10.12.28 137 0
227424 프겔이 덕갤이 된건 니들이 만들어놓은 허상일뿐 [6] 게임핵(221.162) 10.12.28 92 0
227421 힘든 하루였다 [1] DMW(125.138) 10.12.28 54 0
227420 더블리하면서 생긴 나쁜습관 꿀레갤로그로 이동합니다. 10.12.28 72 0
227419 이거 짜는데 얼마나 걸렷을가여? [3] 갤러리갤로그로 이동합니다. 10.12.28 69 0
227418 VMware 써본 사람들 질문 하나만 합시다 [8] 개르르(164.125) 10.12.27 107 0
227417 솔직히 나도 자바 존나 싫어하지만 [5] 로션맛안심(110.15) 10.12.27 132 0
227416 저새끼자바 게임핵(221.162) 10.12.27 55 0
227415 자바 갤러리 만들어주새여 [10] 갤러리갤로그로 이동합니다. 10.12.27 130 0
227414 핵쓸려는데 [6] 게임핵(221.162) 10.12.27 133 0
227413 형들 제소원 [4] ㅁㄴㅇㄹ(119.195) 10.12.27 90 0
227412 아이유볼때마다 이토준지 만화의 토미에가 생각난다. [2] Finalizer갤로그로 이동합니다. 10.12.27 483 0
227411 답이없군... [2] 꿀레갤로그로 이동합니다. 10.12.27 50 0
227410 나도 빨리나이를먹고싶다. [5] ㅁㄴㅇㄹ(119.195) 10.12.27 104 0
227408 그리고 창업과 사업에 성공할려면 [4] Finalizer갤로그로 이동합니다. 10.12.27 119 0
227406 프갤이 덕화되고있군...이거면 어떠냐!! [3] 꿀레갤로그로 이동합니다. 10.12.27 76 0
227405 char 형 배열마다 루프돌면서 검색하고있는데 검색이안되네영 [17] 준치◕‿◕갤로그로 이동합니다. 10.12.27 110 0
227404 애니갤이라니 [2] 땡칠도사갤로그로 이동합니다. 10.12.27 58 0
227403 솔직히 프겔까지와서 같이 창업할 개발자 모집하려면 [3] Rei@디씨갤로그로 이동합니다. 10.12.27 129 0
227401 완전애니갤만들죠. [1] ㅁㄴㅇㄹ(119.195) 10.12.27 61 0
227400 프갤은 글리젠을 탓하면안된다 ㅇㅇ [3] Grand[차단](221.162) 10.12.27 64 0
227399 나도 한때 소셜거려봤는데 [1] Finalizer갤로그로 이동합니다. 10.12.27 90 0
227397 ㄷㄷ 잘생각해보니 이짤무섭다. [5] ㅁㄴㅇㄹ(119.195) 10.12.27 102 0
227396 질문있어요 횽들~~~~~답변해주면 한국은꼬르가 쏟아짐 [6] Grand[차단](221.162) 10.12.27 76 0
227395 오늘도 잉여의 하루를 보냈네... [7] Rei@디씨갤로그로 이동합니다. 10.12.27 93 0
227394 니들은 현실의 여자도 좋은데 왜 2D로 가려는거냐!! [1] 꿀레갤로그로 이동합니다. 10.12.27 66 0
227393 같이 할 프로그래머 모집! [8] thegle(58.141) 10.12.27 179 0
227392 근디 보통 이짝 일하는 사람들은 메카덕후 아닙미까??? [9] 시불라미갤로그로 이동합니다. 10.12.27 114 0
227391 나 별명이 은꼬르인데 조공주면 포인터 답해주나여??? [2] Grand[차단](221.162) 10.12.27 127 0
227390 아 덕후냄새 페인트향기름(110.15) 10.12.27 42 0
227388 프갤에서 내가 왜 먹튀지 ;;;; [2] Grand[차단](221.162) 10.12.27 76 0
227387 님들 요즘 회사가면 플그램 멀루만드나여? [3] 금고래갤로그로 이동합니다. 10.12.27 79 0
227385 God knows [2] 어떡해갤로그로 이동합니다. 10.12.27 62 0
227384 잘난척. 아는척. MnBv(123.213) 10.12.27 60 0
227383 프겔 왜이래 [4] Rei@디씨갤로그로 이동합니다. 10.12.27 58 0
227382 포인터 질문이에요 횽들 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ [2] 더글라스(221.162) 10.12.27 53 0
227381 유동닉차단먹으면 파로스가지고 뚫으면않됨? [1] ㅁㄴㅇㄹ(119.195) 10.12.27 92 0
227379 전교 50등으로 안전빵삼아두고 [2] ㅁㄴㅇㄹ(119.195) 10.12.27 84 0
227377 누구 말마따나 aszx(211.206) 10.12.27 38 0
227376 덕짤 됨 ㅇㅇ [3] 땡칠도사갤로그로 이동합니다. 10.12.27 70 0
227374 덕짤은 안됩니다! [3] 꿀레갤로그로 이동합니다. 10.12.27 53 0
227373 형들 해커하고 프로그래머하고 뭐가달라요? [2] ㅁㄴㅇㄹ(119.195) 10.12.27 92 0
227372 님들 프로그래머 직업으로하는사람은 [4] 금고래갤로그로 이동합니다. 10.12.27 84 0
227371 i'm %d 이얼즈 올드 [2] _Nero갤로그로 이동합니다. 10.12.27 74 0
227370 프갤에 윈도우즈 파일 경로 오류 질문합니다 [8] bbubbu갤로그로 이동합니다. 10.12.27 68 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2