single linked list
TRANSCRIPT
![Page 1: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/1.jpg)
Жагсаалтыг заагчаар зохион
байгуулах
![Page 2: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/2.jpg)
Жагсаалтыг заагчаар зохион байгуулах
• Тодорхойлолт:Шугаман (дараалсан) зохион байгуулалттай, өөр хоорондоо холбоотой элементүүдийн олонлогийг жагсаалт гэж үзэж болно. Элементийг нь жагсаалтын зангилаа(node) гэдэг. Тухайн зангилааны заагч нь дараагийн зангилааны хаягийг агуулж байвал нэг холбоост жагсаалт гэдэг.
![Page 3: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/3.jpg)
Жагсаалтыг заагчаар зохион байгуулах
• Тодорхойлолтоос гарах төсөөлөл нь:
5
head
7 8 9
tail
![Page 4: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/4.jpg)
Жагсаалтыг заагчаар зохион байгуулах
• Зурагт харгалзах өгөгдлийн төрөл нь:
9
typedef int elem;typedef struct node {
elem data;struct node* next;
} node_t;
node_t
data
next
a node
![Page 5: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/5.jpg)
Жагсаалтыг заагчаар зохион байгуулах
• Өгөгдлийн төрөл гэж юу? Хаана ашиглагдах вэ? Доорх текстийн аль нь
өгөгдлийн төрөл вэ?
9
typedef int elem;typedef struct node {
elem data;struct node* next;
} node_t;
node_t
data
next
a node
![Page 6: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/6.jpg)
Жагсаалтад элемент нэмэх
![Page 7: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/7.jpg)
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;
}
5 7 8 9
p
data
next
![Page 8: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/8.jpg)
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;
}
5 7 8
p
data
next
temp
9
![Page 9: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/9.jpg)
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;
}
5 7 8
p temp
data
next
9
![Page 10: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/10.jpg)
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;
}
5 7 8
p temp
data
next
9
![Page 11: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/11.jpg)
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;
}
5 7 8
p temp
data
next
9
![Page 12: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/12.jpg)
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;
}
5 7 8
p temp
data
next
x
9
![Page 13: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/13.jpg)
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;
}
5 7 8
p temp
data
next
x
9
![Page 14: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/14.jpg)
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;
}
5 7 8
p
x
9
![Page 15: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/15.jpg)
5 7 8
p
x 9
![Page 16: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/16.jpg)
Жагсаалтаас элемент устгах
![Page 17: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/17.jpg)
void delete_node(posi p)
{ posi temp;
temp=p->next;
p->next=p->next->next;
free(temp);
}
5 7 8
p
data
next
9
![Page 18: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/18.jpg)
void delete_node(posi p)
{ posi temp;
temp=p->next;
p->next=p->next->next;
free(temp);
}
5 7 8
p
data
next
temp
9
![Page 19: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/19.jpg)
void delete_node(posi p)
{ posi temp;
temp=p->next;
p->next=p->next->next;
free(temp);
}
5 7 8
p
data
next
temptemp
9
![Page 20: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/20.jpg)
void delete_node(posi p)
{ posi temp;
temp=p->next;
p->next=p->next->next;
free(temp);
}
5 7 8
p
data
next
temptemp
9
![Page 21: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/21.jpg)
void delete_node(posi p)
{ posi temp;
temp=p->next;
p->next=p->next->next;
free(temp);
}
5 7
p
data
next
temptemp
9
![Page 22: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/22.jpg)
void delete_node(posi p)
{ posi temp;
temp=p->next;
p->next=p->next->next;
free(temp);
}
5 7
p
data
next
9
![Page 23: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/23.jpg)
5 7
p
9
![Page 24: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/24.jpg)
Асуулт• p=MAKENULL(L); үйлдлийн зураглал
ямар байх вэ?
• Хоосон байхад элемент нэмэх зураглал ямар байх вэ?
• Нэг элементтэй байхад элемент нэмэх (түүний өмнө ба хойно нь нэмэх) зураглал ямар байх вэ?
![Page 25: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/25.jpg)
Асуулт• Жагсаалтын элементийг хоосон
болтол устгах зураглал ямар байх вэ?
• Хоосон болох үед “p” заагчийн утга ямар байх вэ?
![Page 26: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/26.jpg)
Даалгавар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");
}
• Кодыг зургаар тайлбарлана уу.
![Page 27: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/27.jpg)
![Page 28: Single linked list](https://reader034.vdocuments.site/reader034/viewer/2022052508/55a0a3c91a28ab5a778b45bc/html5/thumbnails/28.jpg)