Tìm kích cỡ của danh sách liên kết vòng trong C
Bài tập C: Tìm kích cỡ của danh sách liên kết vòng
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 vòng và cách tìm kích cỡ của danh sách liên kết vòng 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 kích cỡ của danh sách liên kết vòng trong C:
#include#include struct node { int data; struct node *next; };struct node *head = NULL; struct node *current = NULL;//chen link tai vi tri dau tien 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; head->next = link; return; } current = head; // di chuyen toi phan cuoi list while(current->next != head) current = current->next; // chen link vao phan cuoi cua list current->next = link; // lien ket last node voi head link->next = head; }//hien thi list void list_size(struct node *list) { int size = 0; if(head==NULL) { printf("Kich co list: %d ", size); return; } current = head; size = 1; while(current->next != head) { current = current->next; size++; } printf("Kich co list: %d ", size); }int main() { insert(10); insert(20); insert(30); insert(1); insert(40); insert(56); list_size(head); return 0; }
Biên dịch chương trình C trên sẽ cho kết quả:
Bài học Bài tập C phổ biến tại hoconline.club:
danh-sach-lien-ket-trong-c.jsp
Bài viết liên quan