鍊錶的部分操作

2021-07-29 22:19:38 字數 1409 閱讀 5352

#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...