33,311
社区成员
发帖
与我相关
我的任务
分享
struct node {
int data;
node * next;
};
node * insertData(int n, node * head) {
node *curNode = head; // 指向插入点的后节点
node *preNode = NULL; // 指向插入点的前节点
node *newNode = NULL; // 指向新建节点
//寻找插入位置
while((curNode != NULL)&&(curNode->data < n)) {
preNode = curNode;
curNode = curNode->next;
}
newNode = new node ; // 为新节点动态分配内存
if (newNode == NULL) {// 内存分配不成功
cout << "Not memory available!";
return head;
}
newNode->data = n;
if (preNode == NULL) //插入到链表头
{
newNode->next = curNode;
return newNode;
}
else {
preNode->next = newNode;
newNode->next = curNode;
return head;
}
}