Tìm kiếm phần tử trong danh sách liên kết đơn trong C
Bài tập C: tìm kiếm một phần tử trong danh sách liên kết đơn Bài tập C này giúp bạn làm quen dần với cách tạo danh sách liên kết đơn và cách tìm kiếm một phần tử trong danh sách liên kết đơn trong C. Để giải bài tập này, mình sử dụng cấu trúc struct trong C. Chương trình C Dưới ...
Bài tập C: tìm kiếm một phần tử trong danh sách liên kết đơn
Bài tập C này giúp bạn làm quen dần với cách tạo danh sách liên kết đơn và cách tìm kiếm một phần tử trong danh sách liên kết đơn trong C. Để giải bài tập này, mình sử dụng cấu trúc struct trong C.
Chương trình C
Dưới đây là chương trình C để giải bài tập tìm kiếm một phần tử trong danh sách liên kết đơn trong C:
#include <stdio.h>
#include <stdlib.h>
struct node {
int data;
struct node *next;
};
struct node *head = NULL;
struct node *current = NULL;
//tao danh sach lien ket
void insert(int data) {
// cap phat bo nho cho node moi;
struct node *link = (struct node*) malloc(sizeof(struct node));
link->data = data;
link->next = NULL;
// neu head la trong, tao list moi
if(head==NULL) {
head = link;
return;
}
current = head;
// di chuyen toi phan cuoi list
while(current->next!=NULL)
current = current->next;
// chen link vao phan cuoi cua list
current->next = link;
}
void find_data(int item) {
int pos = 0;
if(head==NULL) {
printf("Danh sach lien ket chua duoc khoi tao");
return;
}
current = head;
while(current->next!=NULL) {
if(current->data == item) {
printf("Tim thay %d tai vi tri %d
", item, pos);
return;
}
current = current->next;
pos++;
}
printf("%d khong ton tai trong list", item);
}
int main() {
insert(10);
insert(20);
insert(30);
insert(1);
insert(40);
insert(56);
find_data(40);
find_data(44);
return 0;
}
Biên dịch chương trình C trên sẽ cho kết quả:

Loạt bài Bài tập C có giải của chúng tôi một phần dựa trên Tutorialspoint.com
Follow fanpage của team hoặc facebook cá nhân Nguyễn Thanh Tuyền để tiếp tục theo dõi các loạt bài mới nhất về Ngữ pháp tiếng Anh, luyện thi TOEIC, Java,C,C++,Javascript,HTML,Python,Database,Mobile ... mới nhất của chúng tôi.
Bài học Bài tập C phổ biến tại vietjack.com: