91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

雙向聊表的實現(xiàn)細節(jié)以及菜單顯示,對數(shù)據(jù)結(jié)構(gòu)的同學很有幫助,有注釋!大學必備源碼,可直接運行,c程序設(shè)計加數(shù)據(jù)結(jié)構(gòu)

資源截圖

代碼片段和文件信息

/**********************************雙向鏈表************************
*??雙向鏈表???????????????????????????????????????????????????????*
*??完成日期:2016.9.10????????????????????????????????????????????*
*??編譯環(huán)境:VC6.0????????????????????????????????????????????????*
*??說明:初始化時只能輸入0-9只有插入時可輸入int整數(shù)?????????????????*
******************************************************************/
#define?_CRT_SECURE_NO_DEPRECATE
#include?
#include?
#include?
#include?


//輸出菜單menu函數(shù)
void?printmenu()
{
printf(“\n1.建立雙向鏈表(初始化)\n2.打印雙向鏈表\n3.逆序打印雙向鏈表\n“);

printf(“4.求鏈表的長度\n5.判斷鏈表是否為空\n6.清空鏈表\n“);

printf(“7.插入元素\n8.刪除元素\n9.刪除鏈表\n0.退出\n“);


}

//定義結(jié)點結(jié)構(gòu),雙向鏈表結(jié)點

typedef?struct?DuLnode
{
int?data;

struct?DuLnode?*prior;???//前驅(qū)指針

struct?DuLnode?*next;????//后繼指針

}DuLnode*DulinkList;


//初始化雙向鏈表
void?InitDlist(DulinkList?&L)
{
int?x;???//定義成char型是用于輸入‘q‘時可以退出,其實定義成int也能退出

DulinkList?p?q;

L?=?(DulinkList)malloc(sizeof(DuLnode));

L->next?=?NULL;

L->prior?=?NULL;

p?=?L;

printf(“輸入雙向鏈表的元素,每輸入一個后按回車,輸入0表示結(jié)束.\n“);

fflush(stdin);

scanf(“%d“&x);

while?(x!=0?)
{
q?=?(DulinkList)malloc(sizeof(DuLnode));

q->data?=?x?;???????//數(shù)字字符的ASCLL碼減去48得到該數(shù)字

q->next?=NULL?;

q->prior?=?p;

p->next?=?q;

p?=?q;

fflush(stdin);

scanf(“%d“?&x);

}

if?(x?==0)??printf(“雙向鏈表構(gòu)建完畢!\n“);

}

//輸出鏈表函數(shù)
void?printDList(DulinkList?&L)
{
DulinkList?p;

if?(L?==?NULL)

{
printf(“鏈表不存在,請先初始化!\n“);
}

else?if(L->next?==?NULL)
{
p?=?L->next;????????//避免p為野指針,賦值為NULL

printf(“鏈表中沒有結(jié)點,空!\n“);
}

else
{
p?=?L->next;
while?(p)
{
printf(“%d?“?p->data);
p?=?p->next;
}
}
}


//逆序打印雙向鏈表
void?printDListFromLast(DulinkList?&L)
{
DulinkList?p;

if?(L?==?NULL)

{
printf(“鏈表不存在,請先初始化!\n“);
}

else?if?(L->next?==?NULL)
{
p?=?L->next;

printf(“鏈表中沒有結(jié)點,空!\n“);
}

else
{???
p?=?L->next;

while?(p->next)
{
p?=?p->next;
}

while?(p->prior)
{
printf(“%d?“?p->data);

p?=?p->prior;
}
}
}

//求鏈表長度函數(shù)

int?LenghtDList(DulinkList?L)
{
int?n=0;

DulinkList?p;

if?(L?==?NULL)
{
printf(“鏈表不存在,請先建立!\n“);
}

else
{
p?=?L->next;

while?(p)
{
n++;
p?=?p->next;
}
}

?????
return?n;
}

void?EmptyDuList(DulinkList?L)
{
if?(L?==?NULL)

{
printf(“鏈表不存在,請先初始化!\n“);
}

else?if?(L->next?==?NULL)
{
?????????printf(“鏈表為空!\n“);
}
else
{
printf(“鏈表不為空!\n“);
}

}


//把雙向鏈表清空
void?ClearDuList(DulinkList?&L)
{
if?(L?==?NULL)
{
printf(“鏈表不存在,請先初始化!\n“);
}

else?if?(L->next?==?NULL)
{
printf(“鏈表本身為空!\n“);
}

else
{
DulinkList?p?q;?

p?=?q?=?L->next;????//p、q指向第一個元素

L->next?=?NULL;

while?(p)??????????//逐漸釋放元素所占內(nèi)存
{
p?=?p->next;

free(q);

q?=?p;
}

}

}

void?DelDList(DulinkList?&L)
{
ClearDuList(L);

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-09-12?17:01??雙向鏈表\
?????目錄???????????0??2016-09-12?16:42??雙向鏈表\Debug\
?????文件???????60416??2016-09-12?16:42??雙向鏈表\Debug\vc120.idb
?????文件???????86016??2016-09-12?16:42??雙向鏈表\Debug\vc120.pdb
?????文件???????36352??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.exe
?????文件??????255976??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.ilk
?????文件????????1635??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.log
?????文件???????26767??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.obj
?????文件??????502784??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.pdb
?????目錄???????????0??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.tlog\
?????文件????????4284??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.tlog\CL.read.1.tlog
?????文件????????1048??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.tlog\CL.write.1.tlog
?????文件????????1410??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.tlog\cl.command.1.tlog
?????文件????????1308??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.tlog\link.command.1.tlog
?????文件????????2482??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.tlog\link.read.1.tlog
?????文件?????????612??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.tlog\link.write.1.tlog
?????文件?????????201??2016-09-12?16:42??雙向鏈表\Debug\雙向鏈表.tlog\雙向鏈表.lastbuildstate
?????文件????????6448??2016-09-12?16:42??雙向鏈表\雙向鏈表.cpp
?????文件?????2621440??2016-09-12?17:01??雙向鏈表\雙向鏈表.sdf
?????文件?????????969??2016-09-10?18:34??雙向鏈表\雙向鏈表.sln
?????文件???????23040??2016-09-12?17:01??雙向鏈表\雙向鏈表.v12.suo
?????文件????????4097??2016-09-12?16:41??雙向鏈表\雙向鏈表.vcxproj
?????文件?????????953??2016-09-12?16:41??雙向鏈表\雙向鏈表.vcxproj.filters

評論

共有 條評論

相關(guān)資源