单链表操作

mac2022-06-30  128

#include "pch.h" #include "stdio.h" #include <stdlib.h> typedef char Status; typedef char ElemType; //定义一个结点 typedef struct Node { int data; //数据域 struct Node *next; //指针域 }Node; //结点别名Node typedef struct Node *LinkList; //LinkList是一个结构体指针 //获取节点元素 Status GetElem(LinkList phead, int i, ElemType *e) { LinkList p; //LinkList p等价于struct Node *p int j = 1; //当前结点位置 p = phead->next; //p指向第一个元素的结点 //遍历结点 while (p&&j < i) { p = p->next; j++; } if (!p || j > i) //控制指针超出限度 return NULL; else //返回指针元素 *e = p->data; } //插入元素 void ListInsert(LinkList phead, int i, ElemType e) { LinkList p = phead->next; int j = 1; LinkList s; while (p&&j < i) { p = p->next; j++; } if (!p || j > i) //控制指针超出限度 return ;//退出程序 s = (LinkList)malloc(sizeof(Node)); s->next = p->next; p->next = s; } int main( ) { int e = 3; int *p; p = &e; printf("%d",p); }
最新回复(0)