首页  >  文章  >  后端开发  >  用动态链表存储汽车信息的C程序

用动态链表存储汽车信息的C程序

WBOY
WBOY转载
2023-09-17 18:33:051202浏览

用动态链表存储汽车信息的C程序

链接列表使用动态内存分配,即它们相应地增长和收缩。它是节点的集合。

节点有两部分,如下所示 -

  • 数据
  • 链接

链表的类型

C 语言中链表的类型如下 -

  • 单链表/单链表列表
  • 双链表
  • 循环单链表
  • 循环双链表

算法

参考下面给出的算法,使用动态链表存储汽车信息。

步骤 1 - 声明结构变量。

步骤 2 - 声明要显示的函数定义.

第3步 - 为变量分配动态内存。

第4步 - 使用do while循环输入汽车信息。

第5步 - 调用显示函数转到步骤2。

示例

以下是使用动态链表存储汽车信息的C程序 -

 Live Demo

#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("</p><p>");
   }
}
int main(){
   int n;
   char option,enter;
   head=(struct node *)malloc(sizeof(struct node));
   temp=head;
   do{
      printf("</p><p>enter car model: ");
      scanf("%s",temp->model);
      printf("enter car color: ");
      scanf("%s",temp->color);
      printf("enter car year: ");
      scanf("%d",&temp->year);
      printf("</p><p>Do you want continue Y(es) | N(o) : ");
      scanf("%c",&enter);
      scanf("%c",&option);
      if (option!=&#39;N&#39;){
         temp->next=(struct node *)malloc(sizeof(struct node));
         temp=temp->next;
      } else {
         temp->next=NULL;
      }
   }while(option!=&#39;N&#39;);
   display(head);
   return 0;
}

输出

当上述程序被执行时,它产生以下输出 −

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

以上是用动态链表存储汽车信息的C程序的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除