本文介绍了如何从列表L1中删除要在有序列表L2中找到其位置的节点?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  struct 节点* DeleteNode( struct 节点*头, int  pos){

      struct 节点* temp =头;
      int  length = LinkedListLength(temp);
      int  i;

    如果(pos <  =  0  | | | pos > 长度){
        printf(" 错误:节点不存在!\ n" );
    } 其他 {
        如果(pos ==  1 ){
            头=头->下一个;
        } 其他 {
             for (i =  1 ; i ><  pos-1; ++ i){
                    temp = temp-> next;
            }
            temp-> next = temp-> next-> next;
        }
    }
    返回头;
} 
解决方案


struct node* DeleteNode(struct node* head, int pos) {

     struct node* temp = head;
     int length = LinkedListLength(temp);
     int i;

    if(pos <= 0 || pos > length){
        printf("ERROR: Node does not exist!\n");
    }else{
        if(pos == 1){
            head = head->next; 
        }else{
            for(i = 1; i < pos-1; ++i){
                    temp = temp->next;
            }
            temp->next = temp->next->next;
        }
    }
    return head;
}
解决方案



这篇关于如何从列表L1中删除要在有序列表L2中找到其位置的节点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-01 04:07