Computer >> Máy Tính >  >> Lập trình >> lập trình C

C chương trình để lưu trữ thông tin xe bằng cách sử dụng danh sách liên kết động.

Danh sách được liên kết sử dụng phân bổ bộ nhớ động, tức là chúng phát triển và thu nhỏ tương ứng. Nó là tập hợp các nút.

Nút có hai phần như sau -

  • Dữ liệu
  • Liên kết

Các loại danh sách được liên kết

Các loại danh sách liên kết trong ngôn ngữ lập trình C như sau -

  • Danh sách được liên kết đơn / lẻ
  • Danh sách được liên kết đôi / liên kết đôi
  • Danh sách liên kết đơn hình tròn
  • Danh sách liên kết kép hình tròn

Thuật toán

Tham khảo thuật toán được cung cấp bên dưới để lưu trữ thông tin xe ô tô bằng cách sử dụng danh sách liên kết động.

Bước 1 - Khai báo các biến cấu trúc.

Bước 2 - Khai báo định nghĩa hàm để hiển thị.

Bước 3 - Phân bổ cấp phát bộ nhớ động cho biến.

Bước 4 - Sử dụng vòng lặp do while để nhập thông tin xe.

Bước 5 - Chức năng hiển thị cuộc gọi chuyển sang bước 2.

Ví dụ

Sau đây là chương trình C để lưu trữ thông tin ô tô bằng cách sử dụng danh sách liên kết động -

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct node{
   char model[10],color[10];
   int year;
   struct node *next;
};
struct node *temp,*head;
void display(struct node *head){
   temp=head;
   while(temp!=NULL){
      if(temp->year>2010 && (strcmp("yellow",temp->color)==0))
      printf(" %s \t\t %s \t\t %d",temp->model,temp->color,temp->year);
      temp=temp->next;
      printf("\n");
   }
}
int main(){
   int n;
   char option,enter;
   head=(struct node *)malloc(sizeof(struct node));
   temp=head;
   do{
      printf("\nenter car model: ");
      scanf("%s",temp->model);
      printf("enter car color: ");
      scanf("%s",temp->color);
      printf("enter car year: ");
      scanf("%d",&temp->year);
      printf("\nDo you want continue Y(es) | N(o) : ");
      scanf("%c",&enter);
      scanf("%c",&option);
      if (option!='N'){
         temp->next=(struct node *)malloc(sizeof(struct node));
         temp=temp->next;
      } else {
         temp->next=NULL;
      }
   }while(option!='N');
   display(head);
   return 0;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

enter car model: I20
enter car color: white
enter car year: 2016
Do you want continue Y(es) | N(o) : Y
enter car model: verna
enter car color: red
enter car year: 2018
Do you want continue Y(es) | N(o) : Y
enter car model: creta
enter car color: Maroon
enter car year: 2010
Do you want continue Y(es) | N(o) : N