[c/cpp]:数据结构:表格实现(table)
一、程序代码
1 /*
2 * table {
3 * id value
4 * record[0].id record[0].value
5 * record[1].id record[1].value
6 * record[2].id record[2].value
7 * record[3].id record[3].value
8 * record[4].id record[4].value
9 * . .
10 * . .
11 * . .
12 * record[RECORD].id record[RECORD].value
13 * }
14 *
15 */
16
17
18 #include <iostream>
19
20
21 // table capacity: how many records in the tables
22 #define RECORD 10
23
24
25 struct record {
26 char* id;
27 int value;
28 };
29
30
31 void set_record_value(record *r, char* id, int value)
32 {
33 *r = { .id=id, .value=value };
34 }
35
36
37 void print_record(record r, int index)
38 {
39 std::cout << "Record[" << index << "]" << std::endl;
40 std::cout << "\trecord[" << index << "]_id \t:=\t" << r.id << std::endl;
41 std::cout << "\trecord[" << index << "]_value\t:=\t" << r.value << std::endl;
42 }
43
44
45 struct table {
46 record r[RECORD];
47 };
48
49
50 void msg()
51 {
52 table tbl;
53
54 char id[RECORD][30] = {
55 "Li-Shimin", "Yang-Yuhuan", "Tang-Xuanzang",
56 "Zhu-Wuneng", "Sun-Wukong", "Sha-Wujing",
57 "Qi-Tongwei", "Gao-Xiaoqin", "Gao-Yuliang",
58 "Sha-Ruijin"
59 };
60
61 char value[RECORD] = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };
62
63
64 // init tbl and output tbl
65 for ( int i=0; i<RECORD; i++ )
66 {
67 set_record_value(&tbl.r[i], id[i], value[i]);
68 print_record(tbl.r[i], i);
69 }
70 }
71
72
73 int main(int argc, char *argv[], char *envp[])
74 {
75 msg();
76
77 return 0;
78 }
二、运行结果
Record[0]
record[0]_id := Li-Shimin
record[0]_value := 10
Record[1]
record[1]_id := Yang-Yuhuan
record[1]_value := 20
Record[2]
record[2]_id := Tang-Xuanzang
record[2]_value := 30
Record[3]
record[3]_id := Zhu-Wuneng
record[3]_value := 40
Record[4]
record[4]_id := Sun-Wukong
record[4]_value := 50
Record[5]
record[5]_id := Sha-Wujing
record[5]_value := 60
Record[6]
record[6]_id := Qi-Tongwei
record[6]_value := 70
Record[7]
record[7]_id := Gao-Xiaoqin
record[7]_value := 80
Record[8]
record[8]_id := Gao-Yuliang
record[8]_value := 90
Record[9]
record[9]_id := Sha-Ruijin
record[9]_value := 100
g++ -std=c++20 -O2 -Wall -pedantic -pthread main.cpp && ./a.out
三、参考资料
1、 cpp 在线编译器 - https://coliru.stacked-crooked.com/
本文由 lnlidawei 原创、整理、转载,本文来自于【博客园】; 整理和转载的文章版权归属【原创作者】; 转载或引用时【请保留文章的来源信息】:https://www.cnblogs.com/lnlidawei/p/18547237

浙公网安备 33010602011771号