#include <stdio.h> #include <malloc.h> #include <stdlib.h> typedef struct NODE { int data; struct NODE *pNext; }SLNode; //求练表节点的大小 int ListSize = sizeof(SLNode); SLNode * head = NULL; //头指针 //初始化 void InitList(SLNode **head) { //分配头节点内存,并将地址付给头指针 *head = (SLNode *)malloc(ListSize); //判断节点内存分配是否成功 if(*head == NULL) { printf("节点内存没有分配成功!/n"); exit(0); } (*head)->pNext = NULL; } //插入节点 int InsertList(SLNode * head,int loc,int elem) { SLNode *p = head; //指向节点的工作指针 SLNode *s = NULL; //指向新的节点(所插入的节点) int j = -1; //控制插入位置 //找到loc-1的节点,使用p指向 while(p->pNext!=NULL && j<loc-1) { p = p->pNext ; j++; } //判断插入的位置是否正确 if(j != loc-1) { printf("你插入的位置不正确!/n"); return 0; } //申请节点内存 s = (SLNode*)malloc(