使用動態連結串列儲存汽車資訊的C程式。
連結串列使用動態記憶體分配,即它們會根據需要增長和縮小。它是由節點組成的集合。
節點有兩個部分,如下所示:
- 資料
- 連結
連結串列的型別
C程式語言中的連結串列型別如下:
- 單向連結串列
- 雙向連結串列
- 迴圈單向連結串列
- 迴圈雙向連結串列
演算法
請參考以下演算法,該演算法使用動態連結串列儲存汽車資訊。
步驟1 - 宣告結構體變數。
步驟2 - 宣告顯示函式的定義。
步驟3 - 為變數分配動態記憶體。
步驟4 - 使用do while迴圈輸入汽車資訊。
步驟5 - 呼叫顯示函式,跳轉到步驟2。
示例
以下是使用動態連結串列儲存汽車資訊的C程式:
#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("
");
}
}
int main(){
int n;
char option,enter;
head=(struct node *)malloc(sizeof(struct node));
temp=head;
do{
printf("
enter car model: ");
scanf("%s",temp->model);
printf("enter car color: ");
scanf("%s",temp->color);
printf("enter car year: ");
scanf("%d",&temp->year);
printf("
Do 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;
}輸出
執行上述程式後,將產生以下輸出:
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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP