排序和查詢是在資料處理中使用頻度極高的操作,為加快查詢的速度需現對資料記錄按關鍵字 排序。在汽車資料的資訊模型中,汽車牌照是關鍵字,而且是具有結構特點的一類關鍵字,因 為汽車牌照號是數字和字母混編的,例如01b7328,這種記錄集合是乙個適於利用多關鍵字進行 排序的典型例子。
[ 基本要求 ]
(1)首先利用鏈式基數排序方法實現排序,然後利用折半查詢方法,實現對汽車記錄按關鍵字進行查詢。
(2)汽車記錄集合可以人工錄入,也可以按自動方式隨機生成。
#include
#include
#include
#include
#define ksize 7
//車牌號位數
#define n 3
//車牌號個數
#define r 26
//基數
#define xm 3
//姓名長度
char a[n][10
];//定義字元陣列存放車牌號
char b[n]
[xm]
;//定義字元陣列存放車主
typedef
struct node
nodetype;
//結點
void
createlink
(nodetype *
&p)for
(int j =
0; j <= xm -
1; j++)if
(i ==0)
else
} t->next =
null
;//最後乙個結點的next置為null
}void
displink
(nodetype *p)
printf
("\n");
}void
destroylink
(nodetype *p)
free
(pre);}
void
radixsort
(nodetype *
&p)else
p = p->next;
//p指向下乙個元素
} p =
null
;//重新利用p來收集所有的結點
for(j =
0; j<=
9; j++
)//迴圈每乙個鏈隊
if(head[j]
!=null
)else
} t->next =
null
;//最後乙個結點的next域為null
}for
(j =
0; j)//執行該步驟時i應為2,即車牌號中的字母部分,r=26
head[j]
= tail[j]
=null
;//初始化各鏈隊的首尾指標
while
(p !=
null
)else
p = p->next;
} p =
null
;for
(j =
0; j)else
} t->next =
null;}
for(
int i =
1; i >=
0; i--
)else
p = p->next;
} p =
null
;for
(j =
0; j<=
9; j++
)//數字部分的收集過程
if(head[j]
!=null
)else
} t->next =
null;}
}int
small
(char key1,
char key2)
//判斷key1是否小於key2
return0;
}int
binsearch
(nodetype *p,
char x)
for(
int j =
0; j <= xm -
1; j++
) p = p->next;
}while
(low <= high)
//當前區間存在迴圈
return(0
);//查詢失敗
}int
main()
}else
printf
("此車牌號不在列表中");
printf
("\n");
printf
("\t按任意鍵返回.............");
getchar()
;goto jm;
break
;case
'0':
destroylink
(p);
exit(0
);//正常執行並退出程式
default
:/*使用者使用錯誤*/
puts
("\nenter only selections listed");
break;}
/*結束switch語句*/
}while(1
);/*結束while語句*/
}/*結束main函式*/
基於C語言實現的汽車牌照的快速查詢
在汽車資料的資訊模型中,汽車牌照是具有結構特點的一類關鍵字。汽車牌照是字母和數字混編的,例如01b7238。利用查詢和排序演算法,實現遼寧省內汽車牌照的快速查詢。設計汽車牌照的快速查詢程式 根據題意,首先採用線性鍊錶資料結構來儲存車牌號。錄入方面,錄入部分分為隨機錄入和人工錄入,同時在人工錄入方面設...
管理系統 汽車稱重管理系統
物料管理,能協調企業內部各職能部門之間的關係,從企業整體角度控制物料 流 在物料流動的環節就涉及到交通工具,載貨汽車一般稱作貨車 卡車,也會用到特殊的車輛 如油罐車 貨櫃卡車 攪拌車等 主要用於運送貨物的汽車。近年來,隨著 的蓬勃發展帶動了我國國民經濟許多相關產業部門,其中包括了汽車的計量檢測行業,...
qt 汽車管理系統
介面設計 執行後介面 資料庫表 connection.h檔案 ifndef connection h define connection h include include include include include static bool createconnection if d.open ...