資料結構實驗之鍊表五:單鏈表的拆分
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...