精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

c語言鏈表長度函數,單鏈表長度函數

求大神幫忙。c語言,求單鏈表的長度。

typedef

在大興安嶺等地區,都構建了全面的區域性戰略布局,加強發展的系統性、市場前瞻性、產品創新能力,以專注、極致的服務理念,為客戶提供成都網站設計、成都做網站 網站設計制作按需策劃設計,公司網站建設,企業網站建設,成都品牌網站建設,全網營銷推廣,外貿營銷網站建設,大興安嶺網站建設費用合理。

struct

LNode

{

int

date;

struct

LNode

*next;

}

LNode,

*LinkList;

/*線性鏈表類型

*/

typedef

int

Status;

int

CreatLinkList_L(LinkList

L)/*逆位序輸入n個元素的值,建立帶頭節點的單鏈線性表L

*/

{

int

i,n;

printf("輸入n的值");

scanf("%d",n);

LinkList

p,

p2;

L=(LinkList)malloc(sizeof(LNode));

L-next=NULL;/*先建立一個帶頭節點的單鏈表*/

p2

=

L;

for(i=n;i0;--i)

{

p

=

(LinkList)malloc(sizeof(LNode));

scanf("%d",(p-date));

p-next

=

p2-next;

p2-next

=

p;

}

return

OK;

}

Status

ListLength_L(LinkList

L)

{

int

i=0;

LinkList

p

=

L;

p

=

p-next;

while(p!=NULL)

{

printf("%d\n",

p-date);

p

=

p-next;

i++;

}

return

i;

}

void

DeleteLinkList_L(LinkList

L)

{

LinkList

p

=

L-next;

while(p)

{

free(L);

L

=

p;

p

=

L-next;

}

}

void

main()

{

LinkList

L

=

NULL;

CreatLinkList_L(L);

printf("%d\n",

ListLength_L(L));

DeleteLinkList_L(L);//動態分配的內存應主動釋放

}

求單鏈表的長度的遞歸算法(C語言格式)

求單鏈表的長度函數名為linklistlength

單鏈表用結構體linklist表示

int linklistlength(linklist *head)

{

if(!head) return 0;

return linklistlength(linklist *head-next)+1;

}

c語言用函數創建單鏈表

#includestdio.h

#includestdlib.h

//鏈表定義

typedef int ElemType;

typedef struct LNode

{

int data;

struct LNode *next;

}LNode,*LinkList;

/*************************************

* 鏈表函數 *

*************************************/

//鏈表初始化

void InitLink(LinkList L);

//創建函數,尾插法

void CreateLink_T(LinkList L,int n);

//創建函數,頭插法

void CreateLink_H(LinkList L,int n);

//銷毀函數

void DestroyLink(LinkList L);

//判斷是否為空函數

bool EmptyLink(LinkList L);

//獲取函數

bool GetLink(LinkList L,int i,int e);

//插入函數

void InsertLink(LinkList L,int i,int e);

//刪除函數

void DeleteLink(LinkList L,int i,int e);

//遍歷函數

void TraverseLink(LinkList L);

//鏈表長度函數

int LengthLink(LinkList L);

//合并函數

void MergeLink(LinkList L1,LinkList L2);

void main()

{

LinkList L1,L2;

InitLink(L1);

InitLink(L2);

CreateLink_H(L1,2);

CreateLink_T(L2,2);

TraverseLink(L1);

printf("\n");

TraverseLink(L2);

printf("\n");

MergeLink(L1,L2);

TraverseLink(L1);

TraverseLink(L2);

}

//創建函數,尾插法

void InitLink(LinkList L)

{

L=(LinkList)malloc(sizeof(LNode));

if (!L)

{

printf("Init error\n");

return;

}

L-next=NULL;

}

void CreateLink_T(LinkList L,int n)

{

if(n1)

{

printf("n must =1\n");

return ;

}

else

{

// L=(LinkList)malloc(sizeof(LNode));

L-next=NULL;

for(int i=0;in;i++)

{

LinkList p=(LinkList)malloc(sizeof(LNode));// the lower letter p

printf("enter the data :\t");

scanf("%d",(p-data));

p-next=L-next;

L-next=p;

}

}

}

//創建函數,頭插法

void CreateLink_H(LinkList L,int n)

{

if (n1)

{

printf("n must =1\n ");

return;

}

else

{

//L=(LinkList)malloc(sizeof(LNode));

LinkList pre=(LinkList)malloc(sizeof(LNode));

L-next=NULL;

pre=L;

for(int i=0;in;i++)

{

LinkList p=(LinkList)malloc(sizeof(LNode));

printf("enter the data:\t");

scanf("%d",(p-data));

pre-next=p;

pre=p;

}

pre-next=NULL;

}

}

//銷毀函數

void DestroyLink(LinkList L)

{

LinkList q=L,p=L;

while (p)

{

q=p;

p=p-next;

free(q);

}

L-next=NULL;

}

//判斷是否為空函數

bool EmptyLink(LinkList L)

{

if (NULL==L-next)

{

return true;

}

else

{

return false;

}

}

//獲取函數

bool GetLink(LinkList L,int i,int e)

{

if (i1)

{

return false;

}

else

{

if (EmptyLink(L))

{

return false;

}

LinkList p=L-next;

int j=1;

while(pji)

{

p=p-next;

j++;

}

if (!p||ji)

{

return false;

}

else

{

e=p-data;

return true;

}

}

}

//插入函數

void InsertLink(LinkList L,int i,int e)

{

if (i0||iLengthLink(L))

{

printf("Insert error\n");

return;

}

else

{

LinkList p=L;

int j=0;

while(p(ji))

{

p=p-next;

j++;

}

if (!p||ji)

{

printf("Insert error\n");

return;

}

else

{

LinkList q=(LinkList)malloc(sizeof(LNode));

q-data=e;

q-next=p-next;

p-next=q;

}

}

}

//刪除函數

void DeleteLink(LinkList L,int i,int e)

{

if(i=0||iLengthLink(L))

{

printf("delete error\n");

return;

}

else

{

LinkList p=L;

int j=0;

while(pji-1)

{

p=p-next;

j++;

}

if(!p||ji)

{

printf("please enter i again\n");

return;

}

else

{

LinkList q=p-next;

e=p-next-data;

p-next=p-next-next;

free(q);

}

}

}

//遍歷函數

void TraverseLink(LinkList L)

{

LinkList p=L-next;

if(!p)

{

printf("the Link L is empty\n");

}

while(p)

{

printf("%d\n",p-data);

p=p-next;

}

}

//鏈表長度函數

int LengthLink(LinkList L)

{

int i=0;

LinkList p=L-next;

while(p)

{

p=p-next;

i++;

}

return i;

}

//合并函數

void MergeLink(LinkList L1,LinkList L2)

{

int i=0,flag=0;

LinkList p1=L1-next,p2=L2-next;

LinkList p=(LinkList)malloc ((LengthLink(L1)+LengthLink(L2)+2)*sizeof(LNode));

LinkList pre=p;

if (!p)

{

printf("MergeLink error\n");

return;

}

p-next=NULL;

while (p1p2)

{

if (p1-data=p2-data)

{

InsertLink(p,i++,p2-data);

p2=p2-next;

}

else

{

InsertLink(p,i++,p1-data);

p1=p1-next;

}

}

while (p1)

{

InsertLink(p,i++,p1-data);

p1=p1-next;

}

while(p2)

{

InsertLink(p,i++,p2-data);

p2=p2-next;

}

while(pre)

{

pre=pre-next;

}

LinkList q=L1;

L1=p;

DestroyLink(q);

DestroyLink(L2);

}


文章題目:c語言鏈表長度函數,單鏈表長度函數
文章轉載:http://m.jcarcd.cn/article/hesces.html
主站蜘蛛池模板: 午夜伦理电影网 | 欧美性十八变态另类 | 日韩精品视频在线 | 国产在线91精品 | 97精品免费视频 | 国产中文字幕免费 | 国产精品视频免费的 | 日本在线播放 | 欧美亚洲视频一区 | 国产在线不 | 国产黄三级 | 国产日韩精品欧 | 成人激情五月天 | 日本在线免费 | 欧美日韩看片 | 日韩国产亚洲 | 91一区二区在线 | 日韩美女性爱 | 91人人 | 日韩中文字幕第二页 | 国产精品+欧美激情 | 国产人成| 日本在线观看一区 | 九色国产熟女 | 91国产爽黄神话 | 国产片高清不卡 | 国产呦va在线观看 | 午夜看片福利 | 日韩午夜福利片 | 中文字幕欧美 | 国产午夜不卡 | 日韩激情视频在线 | 日本公与 | 国产精品资源 | 精品尤物在| 91九色精品视频 | 日本在线成人 | 欧美日韩中文 | 精品自拍中 | 国产日韩欧美911 | 91成人 |