单向链表 ——实现过程举例

来源:互联网 发布:梦幻西游2网络错误 编辑:程序博客网 时间:2024/05/19 23:18


 /*****************************************
      单项链表的应用举例
  定义一个student 结构  输入20个数据,然后按照输入的顺序输出
 *****************************************/

#include "stdafx.h"

#include "math.h"

struct student{
           char *name;
           int id;
           int age;
                int weight;
                student *next;
};
int main(int argc, char* argv[])
{    
  
//定义链表头部数据
int iCountId=1;
student *pLinkhead=new student;
       pLinkhead->name="John1";
pLinkhead->id=iCountId++;
pLinkhead->age=12;
pLinkhead->weight=120;
pLinkhead->next=NULL;
//写入19个链表节点
student *prev;//前一个链表节点
prev=pLinkhead;
for(int i=1;i<20;i++)
{
student *pCurLink=new student;
                pCurLink->name="John1";
pCurLink->id=iCountId++;
pCurLink->age=i*2;
pCurLink->weight=2550/(i+1);
pCurLink->next=NULL;//当前节点的下一个节点地址为NULL
prev->next=pCurLink;//前一个节点的指针指向本节点
prev=pCurLink;//本节点成为下一个节点的前节点

}
//输出链表内的内容
//0-19,不包括最后一个节点
student *pOutLink;
pOutLink=pLinkhead;
   //如果当前节点的下一个节点不为空,那么就输出当前节点的内容
    while(pOutLink->next)
{
printf("id %d,name %s age %d weight %d\n",pOutLink->id,pOutLink->name,pOutLink->age,pOutLink->weight);
   pOutLink=pOutLink->next;
}
//输出最后一个节点的内容  最后一个节点的特点 为 pOutLink->next==NULL
printf("id %d,name %s age %d weight %d\n",pOutLink->id,pOutLink->name,pOutLink->age,pOutLink->weight);
getchar();
return 0;

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

执行结果如下

id 1,name John1 age 12 weight 120
id 2,name John1 age 2 weight 1275
id 3,name John1 age 4 weight 850
id 4,name John1 age 6 weight 637
id 5,name John1 age 8 weight 510
id 6,name John1 age 10 weight 425
id 7,name John1 age 12 weight 364
id 8,name John1 age 14 weight 318
id 9,name John1 age 16 weight 283
id 10,name John1 age 18 weight 255
id 11,name John1 age 20 weight 231
id 12,name John1 age 22 weight 212
id 13,name John1 age 24 weight 196
id 14,name John1 age 26 weight 182
id 15,name John1 age 28 weight 170
id 16,name John1 age 30 weight 159
id 17,name John1 age 32 weight 150
id 18,name John1 age 34 weight 141
id 19,name John1 age 36 weight 134
id 20,name John1 age 38 weight 127

0 0
原创粉丝点击