C和指標 十二章 雙鏈表沒有實現

2021-08-07 19:23:44 字數 1535 閱讀 1556

這一章主要講了鍊錶;

單鏈表和雙鏈表,由於某些原因,只實現了單鏈表;雙鏈表等我看到後邊資料結構再回來補上去

#include #include //這段**參考了c和指標以及深入淺出c語言程式設計鍊錶一部分,但是插入元素的那段**是深入淺出那裡的,比較簡單

typedef struct node

node;

node *head;

//使用陣列建立動態鍊錶,先建立頭節點,再建立第乙個資料節點,並連線到頭節點後面,如果再有新資料就再建立節點

node *creatlist( int *a, int n);

void outputlist( node *head);//鍊錶輸出

void insertlist( node *head, int x );//插入乙個值

void deletelist( node *head, int new_value );

int main()

, i;

printf("陣列初值是 \n");

for( i = 0; i < 5; i++ )

printf("\n");

head = creatlist( a, 5 );

printf( "使用陣列元素建立的動態鍊錶:\n");

outputlist( head );

int x;

x=25;

insertlist( head, x );

deletelist( head, x );

outputlist( head );

return 0;

}node *creatlist( int *a, int n)

p1 = head;

for( i = 0; i < n; i++ )

p1->link = p2;

p2->value = a[i];

p1 = p2;

}p1->link = null;

return head;

}void outputlist( node *head)//輸出鍊錶

printf("null\n");

}void insertlist( node *head, int new_value )

else

break;

}news =(node *) malloc( sizeof (node) );

if (news == null)

news->value = new_value;

news ->link = current;

precious->link = news;

outputlist( precious );

}void deletelist( node *head, int new_value )

precious = current;

current = current->link;

}if( flag == 1)

outputlist( precious );

}

《c和指標》第十二章單鏈表練習

include include struct node node sll reverse node rootp int sll insert node rootp,int value int remove node rootp,node node int my free node rootp int...

C和指標第十二章程式設計練習

12.8.1 必須知道鍊錶型別 修改改函式可用於遍歷鍊錶 typedef struct list list intlistcount list d return count 12.8.2 無序有序都可以用這個 list find int a,list b return null 12.8.3 int...

第十二章 使用結構和指標

這一章主要就是實現了乙個鍊錶 第一段程式 int sll insert node current,int new value new node malloc sizeof node if new null return false new value new value new link curre...