lnlidawei

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

[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/

 

posted on 2024-11-15 02:24  lnlidawei  阅读(52)  评论(0)    收藏  举报