SlideShare a Scribd company logo
Жагсаалтыг
заагчаар зохион
      байгуулах
Жагсаалтыг заагчаар зохион
        байгуулах
• Тодорхойлолт:Шугаман (дараалсан)
  зохион байгуулалттай, өөр хоорондоо
  холбоотой             элементүүдийн
  олонлогийг жагсаалт гэж үзэж болно.
  Элементийг       нь        жагсаалтын
  зангилаа(node)      гэдэг.     Тухайн
  зангилааны заагч нь дараагийн
  зангилааны хаягийг агуулж байвал
  нэг холбоост жагсаалт гэдэг.
Жагсаалтыг заагчаар зохион
          байгуулах
• Тодорхойлолтоос гарах төсөөлөл нь:
head                                   tail



        5      7       8       9
Жагсаалтыг заагчаар зохион
         байгуулах
• Зурагт харгалзах өгөгдлийн төрөл нь:



     typedef int elem;                          node_t
                                a node
     typedef struct node {
                                  9      data
           elem data;
                                         next
           struct node* next;
      } node_t;
Жагсаалтыг заагчаар зохион
         байгуулах
• Өгөгдлийн төрөл гэж юу? Хаана
  ашиглагдах вэ? Доорх текстийн аль нь
                   өгөгдлийн төрөл вэ?
     typedef int elem;                          node_t
                                a node
     typedef struct node {
                                  9      data
           elem data;
                                         next
           struct node* next;
      } node_t;
Жагсаалтад
элемент нэмэх
void insert_node(posi p, elem x)
{ posi temp;
 temp = p->next;
 p->next=(posi)malloc(sizeof(list));
 p->next->data=x;
 p->next->next=temp;
               p
}

             5         7   data   8    9
                           next
void insert_node(posi p, elem x)
{ posi temp;
 temp = p->next;
 p->next=(posi)malloc(sizeof(list));
 p->next->data=x;
 p->next->next=temp;
               p         temp
}

             5         7   data   8    9
                           next
void insert_node(posi p, elem x)
{ posi temp;
 temp = p->next;
 p->next=(posi)malloc(sizeof(list));
 p->next->data=x;
 p->next->next=temp;
               p         temp
}

             5         7   data   8    9
                           next
void insert_node(posi p, elem x)
{ posi temp;
 temp = p->next;
 p->next=(posi)malloc(sizeof(list));
 p->next->data=x;
 p->next->next=temp;
               p         temp
}

            5         7   data   8     9
                          next
void insert_node(posi p, elem x)
{ posi temp;
 temp = p->next;
 p->next=(posi)malloc(sizeof(list));
 p->next->data=x;
 p->next->next=temp;
               p         temp
}

            5         7   data   8     9
                          next
void insert_node(posi p, elem x)
{ posi temp;
 temp = p->next;
 p->next=(posi)malloc(sizeof(list));
 p->next->data=x;
 p->next->next=temp;
               p         temp
}

             5         7   data   8    9
                           next


                            x
void insert_node(posi p, elem x)
{ posi temp;
 temp = p->next;
 p->next=(posi)malloc(sizeof(list));
 p->next->data=x;
 p->next->next=temp;
               p         temp
}

             5         7   data   8    9
                           next


                            x
void insert_node(posi p, elem x)
{ posi temp;
 temp = p->next;
 p->next=(posi)malloc(sizeof(list));
 p->next->data=x;
 p->next->next=temp;
               p
}

             5         7          8    9




                            x
p


5       7   x   8   9
Жагсаалтаас
элемент устгах
void delete_node(posi p)
{ posi temp;
  temp=p->next;
  p->next=p->next->next;
  free(temp);
}
               p


           5        7   data   8   9
                        next
void delete_node(posi p)
{ posi temp;
  temp=p->next;
  p->next=p->next->next;
  free(temp);
}
               p        temp


           5        7   data   8   9
                        next
void delete_node(posi p)
{ posi temp;
  temp=p->next;
  p->next=p->next->next;
  free(temp);
}
               p        temp


           5        7   data   8   9
                        next
void delete_node(posi p)
{ posi temp;
  temp=p->next;
  p->next=p->next->next;
  free(temp);
}
               p        temp


           5        7   data   8   9
                        next
void delete_node(posi p)
{ posi temp;
  temp=p->next;
  p->next=p->next->next;
  free(temp);
}
               p        temp


           5        7   data   9
                        next
void delete_node(posi p)
{ posi temp;
  temp=p->next;
  p->next=p->next->next;
  free(temp);
}
               p


           5        7   data   9
                        next
p


5       7   9
Асуулт
• p=MAKENULL(L); үйлдлийн зураглал
  ямар байх вэ?
• Хоосон байхад элемент нэмэх
  зураглал ямар байх вэ?
• Нэг элементтэй байхад элемент
  нэмэх (түүний өмнө ба хойно нь
  нэмэх) зураглал ямар байх вэ?
Асуулт
• Жагсаалтын    элементийг    хоосон
  болтол устгах зураглал ямар байх
  вэ?
• Хоосон болох үед “p” заагчийн утга
  ямар байх вэ?
Даалгавар
   int main(){
    list l; posi p;
    p=Makenull(l);
    insert_node(p,5);
    insert_node(p,15);
    print_list(l);
    p=Next(p);
    insert_node(p,25);
    print_list(l);
    p=Locate(l,5);
    delete_node(p);
    print_list(l);
    system("pause");
   }
• Кодыг зургаар тайлбарлана уу.
Single linked list
Single linked list

More Related Content

PPTX
Лекц №16
PDF
Хөтөлбөр 6 анги
PDF
Logarifm functs
PPTX
DOCX
сургалтын хүүхдийн хөгжил төлөвшилд
PPTX
бие даалт № 1 borland c++
PPTX
Datastructure algoritm
Лекц №16
Хөтөлбөр 6 анги
Logarifm functs
сургалтын хүүхдийн хөгжил төлөвшилд
бие даалт № 1 borland c++
Datastructure algoritm

What's hot (20)

PDF
Math101 Lecture4
PPTX
өгөгдлийн сангийн системийн үндэс
PDF
гамшгаас хамгаалах-мэргэжлийн-ангийн-дүрэм
PPTX
Өгөгдлийн бүтэц 8,9
PPTX
тригонометр функцийн график
PPTX
Lecture 4 нийлмэл удамшил
PPTX
Modal verbs буюу баймж үйл үгс
DOCX
сургалтын аргууд
PPTX
бодит тоо
PDF
Олон хувьсагчтай функцийн нөхцөлт экстремум, интеграл
PPTX
Presentation1
PPTX
Lecture №10
PPTX
U.cs101 алгоритм программчлал-14
PPTX
geometr гурвалжин
PPT
E m.sp713, lesson 5
PPT
CS203 Лекц01 Prefeace
PPT
Tsusnii ergelt
PPTX
Спинний мозок
PDF
Лекц 10: (Рекурс)
PDF
Криптологийн тухай ойлголт - Cryptology
Math101 Lecture4
өгөгдлийн сангийн системийн үндэс
гамшгаас хамгаалах-мэргэжлийн-ангийн-дүрэм
Өгөгдлийн бүтэц 8,9
тригонометр функцийн график
Lecture 4 нийлмэл удамшил
Modal verbs буюу баймж үйл үгс
сургалтын аргууд
бодит тоо
Олон хувьсагчтай функцийн нөхцөлт экстремум, интеграл
Presentation1
Lecture №10
U.cs101 алгоритм программчлал-14
geometr гурвалжин
E m.sp713, lesson 5
CS203 Лекц01 Prefeace
Tsusnii ergelt
Спинний мозок
Лекц 10: (Рекурс)
Криптологийн тухай ойлголт - Cryptology
Ad

Similar to Single linked list (20)

PPTX
Dsi lec9-copy
PPTX
Dsi lec6,7
DOC
Gosexem asuult 09
PPTX
It101-2
PPTX
Dsi lec5
PPTX
Dsi lec8-copy
PPTX
Лекц №13
PPTX
Өгөгдлийн бүтэц 13
PPTX
Өгөгдлийн бүтэц
PPTX
Лекц №15
DOC
U.cs101 лаборатори 8
PPTX
C++ vndsen oilgolt хичээл 1
PDF
u.cs101 "Алгоритм ба програмчлал" Лекц №6
PDF
Лекц №14
PDF
u.cs101 "Алгоритм ба програмчлал" Лекц №5
PPTX
Dsi lec12
PPTX
C++ vndsen oilgolt хичээл 1
Dsi lec9-copy
Dsi lec6,7
Gosexem asuult 09
It101-2
Dsi lec5
Dsi lec8-copy
Лекц №13
Өгөгдлийн бүтэц 13
Өгөгдлийн бүтэц
Лекц №15
U.cs101 лаборатори 8
C++ vndsen oilgolt хичээл 1
u.cs101 "Алгоритм ба програмчлал" Лекц №6
Лекц №14
u.cs101 "Алгоритм ба програмчлал" Лекц №5
Dsi lec12
C++ vndsen oilgolt хичээл 1
Ad

Single linked list

  • 2. Жагсаалтыг заагчаар зохион байгуулах • Тодорхойлолт:Шугаман (дараалсан) зохион байгуулалттай, өөр хоорондоо холбоотой элементүүдийн олонлогийг жагсаалт гэж үзэж болно. Элементийг нь жагсаалтын зангилаа(node) гэдэг. Тухайн зангилааны заагч нь дараагийн зангилааны хаягийг агуулж байвал нэг холбоост жагсаалт гэдэг.
  • 3. Жагсаалтыг заагчаар зохион байгуулах • Тодорхойлолтоос гарах төсөөлөл нь: head tail 5 7 8 9
  • 4. Жагсаалтыг заагчаар зохион байгуулах • Зурагт харгалзах өгөгдлийн төрөл нь: typedef int elem; node_t a node typedef struct node { 9 data elem data; next struct node* next; } node_t;
  • 5. Жагсаалтыг заагчаар зохион байгуулах • Өгөгдлийн төрөл гэж юу? Хаана ашиглагдах вэ? Доорх текстийн аль нь өгөгдлийн төрөл вэ? typedef int elem; node_t a node typedef struct node { 9 data elem data; next struct node* next; } node_t;
  • 7. void insert_node(posi p, elem x) { posi temp; temp = p->next; p->next=(posi)malloc(sizeof(list)); p->next->data=x; p->next->next=temp; p } 5 7 data 8 9 next
  • 8. void insert_node(posi p, elem x) { posi temp; temp = p->next; p->next=(posi)malloc(sizeof(list)); p->next->data=x; p->next->next=temp; p temp } 5 7 data 8 9 next
  • 9. void insert_node(posi p, elem x) { posi temp; temp = p->next; p->next=(posi)malloc(sizeof(list)); p->next->data=x; p->next->next=temp; p temp } 5 7 data 8 9 next
  • 10. void insert_node(posi p, elem x) { posi temp; temp = p->next; p->next=(posi)malloc(sizeof(list)); p->next->data=x; p->next->next=temp; p temp } 5 7 data 8 9 next
  • 11. void insert_node(posi p, elem x) { posi temp; temp = p->next; p->next=(posi)malloc(sizeof(list)); p->next->data=x; p->next->next=temp; p temp } 5 7 data 8 9 next
  • 12. void insert_node(posi p, elem x) { posi temp; temp = p->next; p->next=(posi)malloc(sizeof(list)); p->next->data=x; p->next->next=temp; p temp } 5 7 data 8 9 next x
  • 13. void insert_node(posi p, elem x) { posi temp; temp = p->next; p->next=(posi)malloc(sizeof(list)); p->next->data=x; p->next->next=temp; p temp } 5 7 data 8 9 next x
  • 14. void insert_node(posi p, elem x) { posi temp; temp = p->next; p->next=(posi)malloc(sizeof(list)); p->next->data=x; p->next->next=temp; p } 5 7 8 9 x
  • 15. p 5 7 x 8 9
  • 17. void delete_node(posi p) { posi temp; temp=p->next; p->next=p->next->next; free(temp); } p 5 7 data 8 9 next
  • 18. void delete_node(posi p) { posi temp; temp=p->next; p->next=p->next->next; free(temp); } p temp 5 7 data 8 9 next
  • 19. void delete_node(posi p) { posi temp; temp=p->next; p->next=p->next->next; free(temp); } p temp 5 7 data 8 9 next
  • 20. void delete_node(posi p) { posi temp; temp=p->next; p->next=p->next->next; free(temp); } p temp 5 7 data 8 9 next
  • 21. void delete_node(posi p) { posi temp; temp=p->next; p->next=p->next->next; free(temp); } p temp 5 7 data 9 next
  • 22. void delete_node(posi p) { posi temp; temp=p->next; p->next=p->next->next; free(temp); } p 5 7 data 9 next
  • 23. p 5 7 9
  • 24. Асуулт • p=MAKENULL(L); үйлдлийн зураглал ямар байх вэ? • Хоосон байхад элемент нэмэх зураглал ямар байх вэ? • Нэг элементтэй байхад элемент нэмэх (түүний өмнө ба хойно нь нэмэх) зураглал ямар байх вэ?
  • 25. Асуулт • Жагсаалтын элементийг хоосон болтол устгах зураглал ямар байх вэ? • Хоосон болох үед “p” заагчийн утга ямар байх вэ?
  • 26. Даалгавар int main(){ list l; posi p; p=Makenull(l); insert_node(p,5); insert_node(p,15); print_list(l); p=Next(p); insert_node(p,25); print_list(l); p=Locate(l,5); delete_node(p); print_list(l); system("pause"); } • Кодыг зургаар тайлбарлана уу.