标签:creat i++ main ext next std while lis malloc
1 #include <stdio.h> 2 #include <stdlib.h> 3 typedef struct Node{ 4 int data; 5 struct Node *P_next; 6 7 }Node,* P_node; 8 9 int arr[10]={12,23,11,23,45,56,23,12,1,21}; 10 int g_len=sizeof(arr)/sizeof(int); 11 12 P_node create_list(int len); 13 14 void traverse_list(P_node Phead); 15 void sort_list(P_node Phead); 16 void insert_list(int pos,int data1,P_node Phead); 17 void delete_list(int pos,P_node Phead); 18 int main() 19 { 20 P_node pp; 21 pp=create_list(g_len); //创建链表 22 23 traverse_list(pp); 24 sort_list(pp); 25 printf("**********************\n"); 26 27 insert_list(5,88,pp); 28 delete_list(5,pp); 29 traverse_list(pp); 30 return 0; 31 } 32 P_node create_list(int len) 33 { 34 35 P_node Pnew; 36 P_node Ptail; 37 P_node Phead =malloc(sizeof(Node)); 38 Ptail=Phead; 39 for(int i=0;i<len;i++) 40 { 41 Pnew= malloc(sizeof(Node)); 42 Pnew->data=arr[i]; 43 Ptail ->P_next=Pnew; 44 //Phead->P_next=Pnew; 45 Ptail=Pnew; 46 } 47 return Phead; 48 } 49 void traverse_list(P_node Phead) 50 { 51 P_node pp=Phead->P_next; 52 for(int i=0;i<10;i++) 53 { 54 if(pp!=NULL) 55 { 56 printf("Phead->data==%d\n",pp->data); 57 pp=pp->P_next; 58 } 59 60 } 61 62 } 63 void sort_list(P_node Phead) 64 { 65 int i,j; 66 int temp; 67 P_node p; 68 P_node q; 69 for(i=0, p=Phead->P_next;i<g_len-1;i++, p=p->P_next) 70 { 71 72 for( j=i+1,q=p->P_next;j<g_len;j++,q=q->P_next) 73 { 74 if((p->data)>(q->data)) 75 { 76 temp=p->data; 77 p->data=q->data; 78 q->data=temp; 79 } 80 } 81 82 } 83 84 85 } 86 void insert_list(int pos,int data1,P_node Phead) 87 { int num=1; 88 int i= 0; 89 P_node pp=Phead; 90 P_node P_malloc; 91 P_node qq=Phead; 92 while(pp!=NULL&&i<pos) 93 { 94 i++; 95 pp=pp->P_next; 96 if(i>1) 97 { 98 qq=qq->P_next; 99 } 100 } 101 102 P_malloc=(P_node) malloc(sizeof(Node)); 103 104 P_malloc->data=data1; 105 P_malloc->P_next=pp; 106 107 qq-> P_next=P_malloc; 108 // qq=pp->P_next; 109 // pp->P_next=P_malloc; 110 //P_malloc->P_next=qq; 111 112 } 113 void delete_list(int pos,P_node Phead) 114 { 115 P_node pp=Phead; 116 P_node qq; 117 P_node nn=Phead; 118 int i=0; 119 while(pp!=NULL&&i<pos) 120 { 121 i++; 122 pp=pp->P_next; 123 qq=pp->P_next; 124 if(i>1) 125 { 126 nn=nn->P_next; 127 } 128 } 129 nn->P_next =qq; 130 131 }
标签:creat i++ main ext next std while lis malloc
原文地址:https://www.cnblogs.com/tian1996/p/11288324.html