• c++ 双向链表


    双向链表结构定义
         struct  stu_data
         {
             char name[256];//学生名字
             struct mytime stuTime;//签到时间
             struct  stu_data* front;  //指向前一个结点
             struct  stu_data* back;  //指向后一个结点
    
         }  ;
    建立双向链表
    头指针Head
    尾部指针Tail
    插入结点
     
     //建立头结点
        Head=tail=p= malloc(sizeof( struct stu_data)); //
         memset(stu,0,sizeof( struct stu_data)); //初始化内存区域
    
    //尾部插入新结点 操作
           stu= malloc(sizeof( struct stu_data)); //分配结点内存空间
           memset(stu,0,sizeof( struct stu_data)); //初始化内存区域
       //结点数据填充。。。
             stu->front=p; //新结点指向前驱
             stu->back=NULL; //新结点尾指针置空
             p->back=stu; //前驱结点back指针指向新结点
             p=stu; //重要移动标志指针
             tail=stu;//可有可无的
    A= Head      front                 back
    0    0    0    D    B
    
      B
    0    exit    e    A    C
      C
    0    0    0    B    D
     D=stu=p=tail
    0    exit    0    C    A

    代码

     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;
        // struct stu_data stu[50];
         time_t t;// long int
         struct tm * timfo;
         int i;
     
         stu=malloc(sizeof( struct stu_data)); //256+12=268
         printf("%d 
    ", sizeof( struct stu_data));
         getchar();
         
         //for (i=0;i<3;i++)
         //{
            // scanf("%s",&stu[i].name);
            // time(&t);
            // timfo= localtime(&t); //取当前系统时间 
      //       stu[i].stuTime.hour=timfo->tm_hour;//// stu[i].stuTime.min=timfo->tm_min;//// stu[i].stuTime.sec=timfo->tm_sec;////}
         ////显示学生 到校时间
         //for (i=0;i<3;i++)
         //{
            // 
            // time(&t);
            // timfo= localtime(&t); //取当前系统时间 
            // printf("%s,到校时间:%d时%d分%d秒
    ",stu[i].name, stu[i].stuTime.hour, stu[i].stuTime.min, stu[i].stuTime.sec);
    
    
    
         //}
     
    
        getchar();
        getchar();
        
        return 0;
    }
  • 相关阅读:
    解决软件升级过程中GAC发生的问题.
    Appupdater 组件的一个问题.
    == 和 != 有点靠不主,建议在进行比较的时候尽可能的使用Equals
    从资源文件中提取Icon对象到Image对象的小技巧。
    arcgis flex开发备忘
    IIS服务器的系统事件日志常见问题汇总(更新中)
    WebSphere6.1配置应用程序
    Android Preference使用
    Oracle无法删除当前已连接的用户
    SSH环境搭建
  • 原文地址:https://www.cnblogs.com/whzym111/p/6139855.html
Copyright © 2020-2023  润新知