雙向鍊錶簡單的儲存與排序

2021-09-12 21:30:51 字數 968 閱讀 9953

【問題描述】輸入n個整數,建立乙個雙向迴圈鍊錶進行儲存。這些整數從第二個開始,遞增有序(設a2【輸入形式】先輸入整數的個數,再輸入整數列。

【輸出形式】以整數遞增的順序,依次輸出雙向迴圈鍊錶各個節點儲存的整數。

【樣例輸入】5 3 1 2 4 5

【樣例輸出】1 2 3 4 5

【樣例說明】輸入資料的第乙個數是整數的個數,其後是整數列,該整數列從第二個開始,遞增有序,資料間以空格分開。

【評分標準】根據輸入的資料建立雙向迴圈鍊錶,並把原來部分有序的煉表處理成有序的鍊錶並輸出。

#include#include#include#define list_init_size 100

#define listincrement 10

#define ok 1

#define error 0

#includestruct node;

node* create(int x)

r->next=l;

return l;

} void show(node* &l)

printf("\n");}

node* insert(node* &l,int pos,int x)

s=(node*)malloc(sizeof(node));

s->data=x;

s->pre=p;

s->next=p->next;

p->next=s;

return l;}

node* delete(node* &l,int pos)

l->next=p->next;

p->next->pre=l;

return l; }

node* s_ort(node* &l)

l=insert(l,i,p->data);

return l;

}int main()

鍊錶與雙向鍊錶

鍊錶與雙向鍊錶 一 特點 1 陣列列表 缺點 新增很慢 優點 查詢快 元素是整塊出現的 大小是可變的 可以刪除 2 鍊錶 優點 新增很快 刪除 缺點 查詢慢 元素是零散出現的陣列列表 鍊錶是乙個乙個的結點相連線,需要定義結點,是鏈式的資料結構。二 鍊錶實現 1 定義乙個結點 public class...

雙向鍊錶的簡單實現

雙向鍊錶的特點是 第乙個元素的 prev 是none 1 雙向鍊錶 2class node 3def init self,node none,prev none,next none 4 注意順序,因為例項化,一般不會關鍵字傳參,如果node none 1 1 是給node形參的,如果形參列表不同,則...

迴圈鍊錶與雙向鍊錶

迴圈鍊錶 最後節點的next指標不指向null,直接改為指向首節點就行。迴圈列表不需要頭節點 include include includetypedef struct student lstudent,lpstudent void initlink lpstudent phead ptr next...