1. 头插法创建链表
//头插法创建链表需要头结点
listNode * createListByHead() {
int n; //创建多少个结点
cin >> n;
listNode * node = new listNode(); //创建头结点
node->next = NULL;
for (int i = 0; i < n; i++) {
listNode* newNode = new listNode();
cin >> newNode->data;
newNode->next = NULL;
if (i == 0) { //插入第一个结点
node->next = newNode;
}
else { //插入其余结点
newNode->next = node->next;
node->next = newNode;
}
}
return node;
}
2. 尾插法创建链表
//尾插法创建链表(不带头结点方式)
listNode* createListByTail() {
int n; //创建多少个结点
listNode * tail;
cin >> n;
listNode * node = new listNode(); //因为不带头结点,所以先将第一个结点创建
cin >> node->data;
node->next = NULL;
tail = node;
for (int i = 1; i < n; i++) {
listNode * newNode = new listNode();
cin >> newNode->data;
newNode->next = NULL;
tail->next = newNode;
tail = tail->next;
}
return node;
}