
`c
include <stdio.h>
include <stdlib.h>
typedef struct node {
int data;
struct node *pNext;
}Node;
Node *head = NULL;
void createNodeList() {
head = (Node*) malloc(sizeof(Node));
if (NULL == head) {
return;
} else {
head->data = 0;
head->pNext = NULL;
return;
}
}
void addNode(Node* node) {
if (head == NULL) {
return;
}
Node* p = head->pNext;
Node* q = head;
while (p != NULL) {
q = p;
p = p->pNext;
}
q->pNext = node;
node->pNext = NULL;
// return true;
}
void deleteNode(int index) {
if (head == NULL) {
return;
}
Node* p = head->pNext;
int length = 0;
while (NULL != p) {
length ++;
p = p->pNext;
}
if (length < index) {
return;
} else {
Node* q = head;
p = head;
for (int i = 0; i <index ; i++) {
q = p;
p = p->pNext;
}
Node* t = p->pNext;
q->pNext = t;
free(p);
return;
}
}
void printNode() {
Node* pHead = head;
if(head == NULL) {
return;
}
if(pHead->pNext == NULL) {
return;
}
Node* pi = pHead->pNext;
// Node* pj = pi->pNext;
for (;pi != NULL;pi = pi->pNext) {
printf("node:%dn",pi->data);
}
}
int main(int argc, const char * argv[]) {
// insert code here…
createNodeList();
Node* node1 = (Node*)malloc(sizeof(Node));
node1->data = 1;
node1->pNext = NULL;
Node* node2 = (Node*)malloc(sizeof(Node));
node2->data = 2;
node2->pNext = NULL;
Node* node = (Node*)malloc(sizeof(Node));
node->data = 3;
node->pNext = NULL;
Node* node4 = (Node*)malloc(sizeof(Node));
node4->data = 6;
node4->pNext = NULL;
addNode(node);
addNode(node1);
addNode(node2);
addNode(node4);
printNode();
return 0;
}




近期评论