#include <iostream>
using namespace std;
struct node {
double data;
struct node *next;
};
void printlist(node *list);
void insert_head(node *list);
int main() {
// your code goes here
node *fir_node = new node();
node *sec_node = new node();
node *thir_node = new node();
fir_node->data = 1;
sec_node->data = 2;
thir_node->data = 3;
fir_node->next = sec_node;
sec_node->next = thir_node;
thir_node->next = nullptr;
cout << "創建初始串列為:" << endl;
printlist(fir_node);
cout <<"插入在頭端後的串列為"<< endl;
insert_head(fir_node);
printlist(fir_node);
return 0;
}
void printlist(node *list) {
node *cur = new node(); //宣告一個指標,並指向initial list
cur = list;
while (cur != nullptr) {
cout << cur->data << endl;
cur = cur->next;
}
//delete cur;
}
void insert_head(node *list){
node *newnode = new node();
newnode->data = list->data - 0.5;
newnode->next = list;
list = newnode;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpzdHJ1Y3Qgbm9kZSB7Cglkb3VibGUgZGF0YTsKCXN0cnVjdCBub2RlICpuZXh0Owp9Owp2b2lkIHByaW50bGlzdChub2RlICpsaXN0KTsKdm9pZCBpbnNlcnRfaGVhZChub2RlICpsaXN0KTsKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglub2RlICpmaXJfbm9kZSA9IG5ldyBub2RlKCk7Cglub2RlICpzZWNfbm9kZSA9IG5ldyBub2RlKCk7Cglub2RlICp0aGlyX25vZGUgPSBuZXcgbm9kZSgpOwoJZmlyX25vZGUtPmRhdGEgPSAxOwoJc2VjX25vZGUtPmRhdGEgPSAyOwoJdGhpcl9ub2RlLT5kYXRhID0gMzsKCWZpcl9ub2RlLT5uZXh0ID0gc2VjX25vZGU7CglzZWNfbm9kZS0+bmV4dCA9IHRoaXJfbm9kZTsKCXRoaXJfbm9kZS0+bmV4dCA9IG51bGxwdHI7Cgljb3V0IDw8ICLlibXlu7rliJ3lp4vkuLLliJfngro6IiA8PCBlbmRsOwoJcHJpbnRsaXN0KGZpcl9ub2RlKTsKCWNvdXQgPDwi5o+S5YWl5Zyo6aCt56uv5b6M55qE5Liy5YiX54K6Ijw8IGVuZGw7CglpbnNlcnRfaGVhZChmaXJfbm9kZSk7CglwcmludGxpc3QoZmlyX25vZGUpOwoJcmV0dXJuIDA7Cn0KIAp2b2lkIHByaW50bGlzdChub2RlICpsaXN0KSB7Cglub2RlICpjdXIgPSBuZXcgbm9kZSgpOyAvL+Wuo+WRiuS4gOWAi+aMh+aome+8jOS4puaMh+WQkWluaXRpYWwgbGlzdAoJY3VyID0gbGlzdDsKCXdoaWxlIChjdXIgIT0gbnVsbHB0cikgewoJCWNvdXQgPDwgY3VyLT5kYXRhIDw8IGVuZGw7CgkJY3VyID0gY3VyLT5uZXh0OwoJfQoJLy9kZWxldGUgY3VyOwp9CnZvaWQgaW5zZXJ0X2hlYWQobm9kZSAqbGlzdCl7Cglub2RlICpuZXdub2RlID0gbmV3IG5vZGUoKTsKCW5ld25vZGUtPmRhdGEgPSBsaXN0LT5kYXRhIC0gMC41OwoJbmV3bm9kZS0+bmV4dCA9IGxpc3Q7CglsaXN0ID0gbmV3bm9kZTsKfQ==