单链表长度不显示,这个要怎么加头节点,c++有点不懂

#include
using namespace std;

typedef struct LNode
{
int data;
struct LNode* next;
}LNode, * LinkList;

void CreateList(LinkList& L, int n)
{
LinkList s, p;
p = L = new LNode;
for (int i = 0; i < n; i++)
{
s = new LNode;
cin >> s->data;
p->next = s;
p = s;
}
p->next = NULL;
}

void LDelete(LinkList& L, int mink, int maxk)
{
int x = 0;
LNode* p, * q;
p = new LNode;
q = new LNode;
if (mink >= maxk)exit(0);
q= L->next;
p = L;
while (q && q->data <= mink) {
p = q;
q = q->next;
}
while(q && q->data < maxk)
{
p->next = q->next;
delete(q);
q = p->next;
}
p = L->next;
while (p) {
cout << p->data << ' ';
p = p->next;
}
}

int main()
{
LinkList L,L1;
int n;
cin >> n;
CreateList(L,n);

int mink, maxk;
cin >> mink;
cin >> maxk;
LDelete(L, mink, maxk);
return 0;

}

img

数据结构对单链表进行数据排序 http://bbs.csdn.net/topics/392201633