给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。把形参x的值放入一个新结点并插入到链表中,插入后个结点仍保持递增有序。
供参考:
void nodeInstert(NODE *h, int x)
{
/**********Begin***********/
NODE *pt = h, *ptn = NULL;
ptn = (NODE *)malloc(sizeof(NODE));
ptn->data = x;
ptn->next = NULL;
while (pt->next && pt->next->data < x) pt = pt->next;
ptn->next = pt->next;
pt->next = ptn;
/***********End***********/
}
void nodeInstert(NODE *h, int x)
{
NODE * newp = (NODE *)malloc(sizeof(NODE));
newp->data = x;
while (h->next != NULL)
{
if (h->data > x)
{
newp->next = h->next;
h->next = newp;
return;
}
h = h->next;
}
h->next = newp;
newp->next = NULL;
}
唯一的缺陷就在于不能把信息保存下来,也就是说,当下次打开程序的时候,上一次写的都没了,也就是说,这是一个“一次性”的通讯录。当然,后面还会有进一步的改动,实现真正意义上的通讯录,即可以把每次的信息保存下来,后续会书写。