單向鍊錶 建立 插入 刪除 遍歷

2021-08-18 08:39:57 字數 1378 閱讀 8859

#include #include #include using namespace std;

struct list* create(); /*新建鍊錶*/

struct list* insert( struct list *head, struct list *temp ); /*插入*/

struct list *deletes( struct list *head, int num ); /*刪除*/

void print( struct list *head ); /*遍歷輸出*/

typedef long long ll; /*給予long long別名 ll*/

struct list;

int main()

}while( choice != 0 );

return 0;

}struct list* create()

return head; /*返回頭結點的位址*/ }

/*插入需要考慮插入的結點是不是在頭結點之前,頭結點為空怎麼辦,不為空又怎麼班;

插入結點是不是在中間,還是在末尾*/

/*查詢插入結點的位置條件是什麼*/

struct list* insert( struct list *head, struct list *temp )

else

if( ptr->num <= ptr2->num )

else

} return head; }

/*刪除需要考慮刪除的結點是不是頭結點,如果不是查詢刪除結點的條件是什麼,

只刪除遇到的指定num值的第乙個還是所有*/

struct list *deletes( struct list *head, int num )

if( head == null )

return null;

ptr1 = head; /*ptr1, ptr2, 一前一後*/

ptr2 = head -> next;

while( ptr2 != null )

else /*如果沒找到, ptr1和ptr2後移乙個結點*/

ptr1 = ptr2;

ptr2 = ptr1->next;

} return head; }

void print( struct list *head )

printf("num\t name\t tel\n");

for( ptr=head; ptr != null; ptr = ptr->next ) /*迴圈輸出*/

printf("%d\t %s\t %lld\n", ptr->num, ptr->name, ptr->tel );

}

鍊錶的建立,插入,刪除,遍歷

includeusing namespace std define ok 1 define error 0 define overflow 2 typedef int status status 是函式返回值型別,其值是函式結果狀態 typedef int elemtype elemtype 為可定...

C語言單向鍊錶的建立 插入 刪除 查詢 遍歷

include include 定義資料型別,假設為int typedef int elemtype 定義自引用結構體 結點 struct node typedef為了簡寫struct node typedef struct node node 鍊錶各種函式的宣告 建立鍊錶函式宣告 node cre...

雙向迴圈鍊錶(建立 插入 刪除 遍歷)

author chen ming dong include include typedef struct list str int n str creat str head head prior p p next head return head 遍歷 void gothrough str head...