c++ 创建单项链表
建立单向链表 头指针Head 插入结点 //建立头结点 Head Head=p= malloc(sizeof( struct stu_data)); // memset(stu,0,sizeof( struct stu_data)); //初始化内存区域 //尾部插入新结点 操作 stu= malloc(sizeof( struct stu_data)); //3 memset(stu,0,sizeof( struct stu_data)); //初始化内存区域 stu->back=NULL; //新结点尾指针置空 p->back=stu; //前驱结点back指针指向新结点 p=stu; //重要移动标志指针 Head=p=1; 1 back . 0 2 2 p->back=stu; stu->back=NULL;p=stu; name stuTime ... 其它数据 0 3 3 name stuTime ... 其它数据 0 NULL
代码
int main(int argn,char* argv[])// int a[1]//a[0] { struct mytime { //char name[256]; int hour;//时 int min; //分 int sec; //秒 }; struct stu_data { char name[256];//学生名字 struct mytime stuTime;//签到时间 // struct stu_data* front; //指向前一个结点 struct stu_data* back; //指向后一个结点 } ; struct mytime t2; struct stu_data *stu,*p,*Head; time_t t;// long int struct tm * timfo; int i; //建立Head头结点 Head=p=malloc(sizeof( struct stu_data)); //256+12=268 memset(p,0,sizeof( struct stu_data)); do {//插入新的结点 stu= malloc(sizeof( struct stu_data)); // memset(stu,0,sizeof( struct stu_data)); //初始化内存区域 stu->back=NULL; //新结点尾指针置空 p->back=stu; //前驱结点back指针指向新结点 p=stu; //重要移动标志指针 scanf("%s",&stu->name); time(&t); timfo= localtime(&t); //取当前系统时间 stu->stuTime.hour=timfo->tm_hour;//时 stu->stuTime.min=timfo->tm_min;//分 stu->stuTime.sec=timfo->tm_sec;//秒 } while(strcmpi(stu->name,"exit")!=0); //初始指针p 使他头结点Head stu=Head->back; do { printf("%s,到校时间:%d时%d分%d秒\n",stu->name, stu->stuTime.hour, stu->stuTime.min, stu->stuTime.sec); stu=stu->back; } while (strcmpi(stu->name,"exit")); getchar(); getchar(); return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步