typedef int DataType_t;
typedef struct SequenceList
{
DataType_t * Addr;
unsigned int Size;
int Last;
}SeqList_t;
SeqList_t * SeqList_Create(unsigned int size)
{
SeqList_t *Manager = (SeqList_t *)calloc(1,sizeof(Manager));
if(NULL == Manager)
{
perror("calloc memory for manager is failed");
exit(-1);
}
Manager->Addr = (DataType_t *)calloc(size,sizeof(DataType_t));
if (NULL == Manager->Addr)
{
perror("calloc memory for element is failed");
free(Manager);
exit(-1);
}
Manager->Size = size;
Manager->Last = -1;
return Manager;
}
bool SeqList_IsFull(SeqList_t *Manager)
{
return (Manager->Last + 1 == Manager->Size) ? true : false;
}
bool SeqList_TailAdd(SeqList_t *Manager, DataType_t Data)
{
if ( SeqList_IsFull(Manager) )
{
printf("SequenceList is Full!\n");
return false;
}
Manager->Addr[++Manager->Last] = Data;
return true;
}
bool SeqList_HeadAdd(SeqList_t *Manager, DataType_t Data)
{
if ( SeqList_IsFull(Manager) )
{
printf("SequenceList is Full!\n");
return false;
}
for (int i = Manager->Last;i >= 0;i--)
{
Manager->Addr[i+1] = Manager->Addr[i];
}
Manager->Addr[0] = Data;
Manager->Last++;
return true;
}
bool SeqList_IsEmpty(SeqList_t *Manager)
{
return (-1 == Manager->Last) ? true : false;
}
bool SeqList_Del(SeqList_t *Manager,DataType_t DestVal)
{
if ( SeqList_IsEmpty(Manager) )
{
printf("SequenceList is Empty!\n");
return false;
}
if (存在目标值)
{
}
else
{
return false;
}
}
SeqList_Print(SeqList_t *Manager)
int main(int argc, char const *argv[])
{
SeqList_t * Manager = SeqList_Create(10);
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现