#include#includestruct node;
int flag;
//建立鍊錶
node *creat(struct node *head)
return head;
}//列印鍊錶
void output(struct node *head)
printf("\n\n");
} //查詢結點
void find(struct node *head,int n)
else
printf("查詢結點成功!\n\n");
return ;
}//查詢輸入的數字
void find1(struct node *head,int n)
p=p->next; }
if(!flag)
else
printf("查詢結點成功!\n\n");
return ;
}//插入結點
node *insert(struct node *head,int n,int m)
p=head;
while(jnext;
j++; }
printf("插入成功!\n\n");
s->next=p->next;
p->next=s;
return head;
}//刪除結點
node *delete_node(struct node *head,int n)
p=head;
while(jnext)
q=p->next;
p->next=q->next;
free(q);
printf("刪除結點成功!\n");
return head;
}//合併鍊錶
void creat1(struct node *head)
else
s=s->next; }
s1->next=null;
s2->next=null;
printf("合併後第乙個鍊錶為:\n");
output(head1);
printf("合併後第二個鍊錶為:\n");
output(head2);
}int main()
printf("輸入要刪除的結點:\n");
scanf("%d",&m);
find(head,m);
if(!flag)
printf("輸入要查詢的數字:\n");
scanf("%d",&x);
find1(head,x);
printf("合併鍊錶:\n");
creat1(head);
return 0;
}
部分鍊錶題
include bool insert last list ls,data data tmp next node return true void display list ls printf n list createlist 建立鍊錶 ls head next null 空鍊錶 return l...
鍊錶部分翻轉
題目描述 給定乙個鍊錶,翻轉該鍊錶從m到n的位置。要求直接翻轉而非申請新空間。如 給定1 2 3 4 5,m 2,n 4,返回1 4 3 2 5。假定給出的引數滿足 1 m n 鍊錶長度。時間複雜度為o n 以下為 include include typedef struct snode snode...
鍊錶部分反轉
反轉鍊錶的一部分,從第m個到第n個節點反轉,m n都小於鍊錶長度。public void reverselist list l,int m,int n 定義乙個新的臨時頭指標 node tmp node 0 tmp.next l 移動頭指標到第 m 1 個節點 node pre tmp for in...