單鏈表的拆分

2021-09-10 22:21:31 字數 1026 閱讀 6882

資料結構實驗之鍊表五:單鏈表的拆分

time limit: 1000 ms memory limit: 65536 kib

submit statistic discuss

problem description

輸入n個整數順序建立乙個單鏈表,將該單鏈表拆分成兩個子鍊錶,第乙個子鍊錶存放了所有的偶數,第二個子鍊錶存放了所有的奇數。兩個子煉表中資料的相對次序與原鍊錶一致。

input

第一行輸入整數n;;

第二行依次輸入n個整數。

output

第一行分別輸出偶數鍊錶與奇數鍊錶的元素個數;

第二行依次輸出偶數子鍊錶的所有資料;

第三行依次輸出奇數子鍊錶的所有資料。

sample input

101 3 22 8 15 999 9 44 6 1001

sample output

4 622 8 44 6

1 3 15 999 9 1001

hint

不得使用陣列!

#include #include using namespace std;

int a=0,b=0;

typedef struct st

linklist;

linklist *l1,*l2;

linklist *creat(int n)

return head;

}//只要沒有輸入就不用開闢空間

void chaifen(linklist*l)

else

p=p->next;

}tail1->next=null;

tail2->next=null;//試試不加這兩句會怎麼樣,我的ac哪去了鴨???

}void pri(linklist*l)

else

printf(" %d",p->date);

p=p->next;

}printf("\n");

}int main()

拆分單鏈表

檔名 text.html 完成日期 2016年11月16日 版本號 v1.0 程式輸入 無 程式輸出 見執行結果 有乙個帶頭結點的單鏈表l 設計乙個演算法將其拆分成兩個帶頭節點的單鏈表l1,l2,l1 l2 include includetypedef int elemtype typedef st...

單鏈表的拆分

problem description 輸入n個整數順序建立乙個單鏈表,將該單鏈表拆分成兩個子鍊錶,第乙個子鍊錶存放了所有的偶數,第二個子鍊錶存放了所有的奇數。兩個子煉表中資料的相對次序與原鍊錶一致。input 第一行輸入整數n 第二行依次輸入n個整數。output 第一行分別輸出偶數鍊錶與奇數鍊錶...

單鏈表的鍊錶拆分

1.定義三的指標變數 p q t,p 指向原鍊錶的頭結點 head1 新建另乙個頭結點 head2,q 指向head2,t 指向head1 的next 結點,兩個頭結點的 next 都設為空。2.按照條件分配t 指向的結點,如果將這個結點連線到 head1 的鍊錶中,1 讓p的 next 指向t 2...