#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;
}