可以帮我看一下我这个链表有什么问题吗,万分感谢
#include
using namespace std;
typedef int Elemtype;
struct link {
Elemtype data;
link *next;
};
typedef link *linklist;
void input(Elemtype *ep) {
cin >> *ep;
}
void visit(Elemtype *ep) {
cout << *ep << " ";
}
void createlink1(linklist *L, int n, void (*input)(Elemtype *)) {
linklist s, p = *L;
*L = new link;
for (n; n > 0; n--) {
s = new link;
input(&s->data);
p->next = s;
p = s;
}
p->next = NULL;
}
void createlink2(linklist *L, int n, void (*input)(Elemtype *)) {
linklist s;
*L = new link;
(*L)->next = NULL;
for (n; n > 0; n--) {
s = new link;
input(&(s->data));
s->next = ((*L)->next);
(*L)->next = s;
}
s->next = NULL;
}
void readlink(linklist L, void(*visit)(Elemtype *)) {
linklist s ;
s = L->next;
while (s != NULL) {
visit(&(s->data));
s = s->next;
}
}
void closelink(linklist *L) {
linklist q, p = *L;
while (p != NULL) {
q = p->next;
delete p;
p = q;
}
*L = NULL;
}
int main () {
int n;
cin >> n;
linklist L;
createlink2(&L, n, input);
readlink(L, visit);
closelink(&L);
}