浙大大学 PTA 奇数值结点链表
6-5 奇數值結點鏈表 (20 point(s))
本題要求實現兩個函數,分別將讀入的數據存儲為單鏈表、將鏈表中奇數值的結點重新組成一個新的鏈表。鏈表結點定義如下:
struct ListNode {
int data;
ListNode *next;
};
函數接口定義:
struct ListNode *readlist();
struct ListNode *getodd( struct ListNode **L );
函數readlist從標準輸入讀入一系列正整數,按照讀入順序建立單鏈表。當讀到?1時表示輸入結束,函數應返回指向單鏈表頭結點的指針。
函數getodd將單鏈表L中奇數值的結點分離出來,重新組成一個新的鏈表。返回指向新鏈表頭結點的指針,同時將L中存儲的地址改為刪除了奇數值結點后的鏈表的頭結點地址(所以要傳入L的指針)。
裁判測試程序樣例:
#include <stdio.h>
#include <stdlib.h>
struct ListNode {
int data;
struct ListNode *next;
};
struct ListNode *readlist();
struct ListNode *getodd( struct ListNode **L );
void printlist( struct ListNode *L )
{
struct ListNode *p = L;
while § {
printf("%d “, p->data);
p = p->next;
}
printf(”\n");
}
int main()
{
struct ListNode *L, *Odd;
L = readlist();
Odd = getodd(&L);
printlist(Odd);
printlist(L);
}
/* 你的代碼將被嵌在這里 */
輸入樣例:
1 2 2 3 4 5 6 7 -1
輸出樣例:
1 3 5 7
2 2 4 6
Author
C課程組
Organization
浙江大學
Code Size Limit
16 KB
Time Limit
400 ms
Memory Limit
64 MB
總結
以上是生活随笔為你收集整理的浙大大学 PTA 奇数值结点链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 战神引擎mud2没有mysql文件_战神
- 下一篇: 【云原生之Docker实战】使用Dock