数据结构c语言,求大神帮帮忙

如题所述

typedef struct _Node { 
    int value; 
    struct _Node* next; 
} Node, *List; 

void delete_k_value(List head, int k) 
{   
unsigned int len = 0;
Node *p1 = head;
int temp = 0;
int i = 0;
//检查头结点是否正确
if(head->value <= 0)
{
printf("error\n");
return;
}
len = head->value;
//检查K值是否合法
if(k >= len)
{
printf("error\n");
return;
}
//找到K的前驱节点
for(i = 0; i < (len-k-1); ++i)
{
if(NULL == p1)
{
printf("error\n");
return;
}
p1 = p1->next;
}
//保存K位置的值
temp = p1->next->value;
//删除K位置的节点
p1->next = p1->next->next;

return;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-27

你自己看

相似回答