迴圈單鏈表

2021-07-11 18:56:18 字數 2606 閱讀 6574

//函式宣告部分:"cirlinklist.h"

#define _crt_secure_no_warnings 1

#include#includetypedef int elemtype;

typedef struct linknode

node;

void judgement_null(node * p);          //判斷動態記憶體是否開闢成功

node * creat_order();                  //建立迴圈鍊錶

void insert(node *head, int i, elemtype x);     //在i位置上插入乙個值為x的結點

void delete(node *head, int i);            //刪除i位置的結點

void find(node *head, elemtype x);           //尋找只為x的結點位置

void length_list(node *head);         

void output(node * head);                //列印整個鍊錶

void inits_linklist(node *head);             //釋放整個鍊錶

void sortrank(node *head);                //對整個鍊錶進行排序

//函式實現:"cirlinklist.c"

#include"cirlinklist.h"

void judgement_null(node * p)          //判斷動態記憶體是否開闢成功,如果失敗,程式直接結束

}

node * creat_order()                  //建立乙個迴圈單鏈表,以0作為結束標誌

else

break;

} r->next = head;               //讓最後乙個結點的指標域指向頭結點

printf("建立成功\n");

return head;

}

void insert(node *head, int i, elemtype x)           //在i位置上插入乙個元素x

if (i < 1)

printf("沒有這個結點\n");

else

}

void delete(node *head, int i)                  //刪除鍊錶中i位置的結點

if (i<1)

printf("沒有該結點\n");

else

else

printf("刪除成功\n");

}}

void find(node *head, elemtype x)             //查詢值為x的元素所在結點位置

if (p == head)

printf("沒有這個結點\n");

else

printf("結點位置:%d\n", count);

}}

void length_list(node *head)                   //求取迴圈鍊錶的結點個數

else

printf("鍊錶長度:%d\n", len);

}}

void output(node * head)                                //列印迴圈鍊錶

printf("\n");

}}

void inits_linklist(node *head)    //初始化鍊錶

free(head);

head = null;

printf("初始化成功\n");

}

void sortrank(node *head)                       //對整個鍊錶進行排序

r = r->next;

} p = p->next;

} printf("排序成功\n");

}

//函式測試部分:

#include"cirlinklist.h"

int main()

if (n == 1 && ret == null)  //只有當前沒建立鍊錶,而且ret為空時,n==1時,建立鍊錶才有效

else if (n != 1 && ret == null)

printf("\n鍊錶為null,請建立鍊錶\n\n");

else if (ret != null)                  //當建立鍊錶之後這些語句才有效

//switch()語句結束

} }system("pause");

return 0;

}

迴圈單鏈表

include include include include define random x rand x typedef int status typedef int elemtype typedef struct lnode lnode typedef struct linklist link...

迴圈單鏈表

include includetypedef struct node snode snode creat 建立頭結點 t next head 和迴圈雙向鍊錶一樣 在這改就行了 return head int lenth snode l 求鍊錶的長度 return len snode get snod...

迴圈單鏈表

資料結構中迴圈單鏈表的簡單實現以及一些簡單操作的測試。迴圈單鏈表的簡單實現 include include define elemtype char define maxsize 50 using namespace std 定義結構 typedef struct listnode linklist...