您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
//链表操作 #include <stdio.h> #include <malloc.h> #include <stdlib.h> //定义一个结构体包含数据域和指针域,指针域存放下一个节点的地址 typedef struct Node{ int data; struct Node * pNextNode; }NODE,*PNODE; //创建一个链表,返回第一个节点的地址 PNODE createNodeLink(void); //遍历链表,参数为第一个节点的地址 void traverseLinked(PNODE pHead); int main(void){ //创建链表 PNODE pHead = createNodeLink(); //遍历链表 traverseLinked(pHead); getchar(); return 0; } //创建链表,,下一个创建的节点的pNextNode指向上一个创建的节点,即从后往前创建 PNODE createNodeLink(void){ //中间变量,用于保存上一个节点 PNODE pNodeTail = (PNODE)malloc(sizeof(NODE)); if(pNodeTail == NULL){ printf("分配失败,程序终止!\n"); exit(-1); } int len = 7 ,i,val; i = 0; printf("请输入您要生成的链表的节点的个数:"); scanf("%d",&len); for(i = 0;i < len;i++){ printf("请输入%d个节点的值:\n",i+1); scanf("%d",&val); PNODE pNew = (PNODE)malloc(sizeof(NODE)); if(pNew == NULL){ printf("分配失败,程序终止!\n"); exit(-1); } pNew->data = val; if(i == 0){ pNew->pNextNode = NULL; }else{ pNew->pNextNode = pNodeTail; } pNodeTail = pNew; } //循环完成,pNodeTail刚好指向第一个节点 return pNodeTail; } //遍历链表 void traverseLinked(PNODE pHead){ PNODE pTemp = pHead; while(pTemp != NULL){ printf("%d\t",pTemp->data); pTemp = pTemp->pNextNode; } }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。