一、定义顺序表结构
#define INIT_SIZE 10 ///< 顺序表初始容量
typedef int seqType; ///< 定义顺序表元素类型
/// @brief 顺序表结构定义
typedef struct t_sqList
{
seqType* pbase; ///< 表基址
int capacity; ///< 表容量
int size; ///< 表长度
}mySList;
二、打印函数
1、思路
2、代码
- 回调函数:myprint
/// @brief output打印函数中的回调函数:myprint
/// @param pdata 待打印结点
void myprint(void* pdata)
{
if (pdata == NULL)
{
return;
}
seqType* data = (seqType*)pdata;
printf("%d", *data);
}
- 打印函数:xxx_output
/// @brief 打印顺序表
/// @param[in] plist:表结构指针
/// @param[in] opf:回调函数指针,指向具体的打印函数
/// @return 无返回值
void sList_output(const mySList* plist, myOpFunType* opf)
{
if (plist == NULL || plist->pbase == NULL)
{
return;
}
printf("pbase=%p,capacity=%d,size=%d\n", plist->pbase, plist->capacity, plist->size);
printf("[");
for (int i = 0; i < plist->size; ++i)
{
opf((void*)(&plist->pbase[i]));
if (i + 1 == plist->size)
{
break; ///< 控制输出格式
}
printf(",");
}
printf("]\n");
printf("======================================================\n");
}
标签:pbase,顺序,打印函数,打印,printf,kx,plist,size
From: https://www.cnblogs.com/kxwslmsps/p/17123877.html