友友们 为什么打印不出来数据

#include
using namespace std;
struct node
{
struct node* head;
int date;
struct node* later;

};
struct node* headnode()//创建表头
{
struct node* head = new struct node;
head->head = head;
head->later = head;
return head;
}
//节点
struct node* headnode(int dat)
{
struct node* headnode = new struct node;
headnode->date = dat;
headnode->head = NULL;
headnode->later = NULL;
return headnode;

}
//
void print(struct nodehead,int date)//头插法
{
struct node
newhead = headnode(date);
newhead->head = head;
newhead->later = head->later;
head->later->head = newhead;
newhead->later = newhead;
}
void printf(struct node* head)//打印
{
struct node* newnode = head->later;
while(newnode != head)
{
cout << newnode->date << endl;
newnode = newnode->head;
}
}
int main()
{
struct node* head = headnode();
print(head, 44);
print(head, 33);
print(head, 22);
printf(head);
cout << "真的好难" << endl;
system("pause");
return 0;
}

你要的头插法是往前插吗?代码修改如下:如有帮助,请采纳一下,谢谢。

#include <iostream>
using namespace std;
struct node
{
    struct node* head;
    int date;
    struct node* later;

};
struct node* headnode()//创建表头
{
    struct node* head = new struct node;
    head->head = 0;
    head->later = 0;
    return head;
}
//节点
struct node* headnode(int dat)
{
    struct node* headnode = new struct node;
    headnode->date = dat;
    headnode->head = NULL;
    headnode->later = NULL;
    return headnode;

}
//
void print(struct node* head ,int date)//头插法
{
    struct node* newhead = headnode(date);
    newhead->head = head;
    newhead->later = head->later;
    if(head->later)
        head->later->head = newhead;
    head->later = newhead;
    //newhead->later = newhead;
    
}
void printf(struct node* head)//打印
{
    struct node* newnode = head->later;
    while(newnode != 0)
    {
        cout << newnode->date << endl;
        newnode = newnode->later;
    }
}
int main()
{
    struct node* head = headnode();
    print(head, 44);
    print(head, 33);
    print(head, 22);
    printf(head);
    cout << "真的好难" << endl;
    system("pause");
    return 0;
}