#include <iostream> #include <stdio.h> #include <string.h> #include <conio.h> using namespace std; typedef struct student { int data; struct student *next; } node; //create the Linked list node *creat() { node *head, *p,*s; int x; int cycle = 1; head = (node*)malloc(sizeof(node)); p = head; while(cycle) { printf("/nplease input the data: "); scanf("%d", &x); if(x != 0) { s = (node*)malloc(sizeof(node)); s ->data = x; printf("/n %d", s->data); p->next = s; p = s; } else { cycle = 0; } } head = head->next; p->next = NULL; printf("/n yyy %d", head->data); return(head); } //get the length of the Linked list int length(node *head) { int n = 0; node *p; p = head; while(p != NULL) { p = p ->next; n++; } return n; } //print the Linked list void print(node *head) { node *p; int n; n = length(head); printf("/n Now, These %d records are :/n", n); p = head; while(p != NULL); { printf("/n uuu % d ", p->data); p = p->next; } } //delete the node in the Linked list node *del(node *head, int num) { node *p1; node *p2; p1 = head; while((num != p1->data) && (p1->next != NULL)) { p2 = p1; p1 = p1 ->next; } if(num == p1->data) { if (p1 == head) { head = p1->next; free(p1); } else { p2->next = p1->next; } } return head; } //insert an elemrnt to the Linked list node * insert(node *head, int num) { node *p0; node *p1; node *p2; p1 = head; p0 =(node*)malloc(sizeof(node)); p0->data = num; while((p0->data > p1->data) && (p1->next != NULL)) { p2 = p1; p1 = p1->next; } if(p0->data <= p1->data) { if(head = p1) { p0->next = p1; head = p0; } else { p2->next = p0; p0->next = p1; } } else { p0=p1->next; p0->next = NULL; } return head; } //reverse the Linked list node *reverse(node *head) { node *p1; node *p2; node *p3; if(head == NULL || head ->next == NULL) { return head; } p1 = head; p2 = p1->next; while(p2) { p3 = p2->next; p2->next = p1; p1 = p2; p2 = p3; } head ->next = NULL; head = p1; return head; } int main() { node *head; node *stud; int n; int del_num; int insert_num; head = creat(); print(head); cout << "/nInt :"; cin >>del_num; head = del(head, del_num); print(head); cout << "/n please input the insert data:"; cin >> insert_num; head = insert(head, insert_num); print(head); return 0; }