#include<stdio.h>
#include<stdlib.h>
typedef struct LINK
{
int num;
struct LINK *next;
}LINK,*pLINK;
int getNum()
{
int num;
printf("請輸入數(shù)字:");
scanf("%d",&num);
return num;
}
pLINK headInsertData(pLINK head,pLINK *tail)
{
if(head==NULL)
{
head=(pLINK)malloc(sizeof(LINK));
head->num=getNum();
head->next=NULL;
*tail=head;
return head;
}
pLINK p=(pLINK)malloc(sizeof(LINK));
p->num=getNum();
p->next=head;
head=p;
return head;
}
pLINK tailInsertData(pLINK head,pLINK *tail)//尾插數(shù)據(jù)
{
if(head==NULL)
{
head=(pLINK)malloc(sizeof(LINK));
head->num=getNum();
head->next=NULL;
*tail=head;
return head;
}
pLINK temp;
for(temp=head;temp->next!=NULL;temp=temp->next);
pLINK p=(pLINK)malloc(sizeof(LINK));
p->num=getNum();
(*tail)->next=p;
p->next=NULL;
*tail=p;
return head;
}
pLINK headDeleteData(pLINK head,pLINK *tail)//頭刪數(shù)據(jù)
{
if(head==NULL)
{
printf("無信息可刪\n");
return NULL;
}
if(head->next==NULL)
{
free(head);
head=NULL;
*tail=NULL;
return head;
}
pLINK p=head;
head=head->next;
free(p);
p=NULL;
return head;
}
pLINK tailDeleteData(pLINK head,pLINK *tail)//尾刪數(shù)據(jù)
{
if(head==NULL)
{
printf("無信息可刪\n");
return NULL;
}
if(head->next==NULL)
{
free(head);
head=NULL;
*tail=NULL;
return head;
}
pLINK temp;
for(temp=head;temp->next!=*tail;temp=temp->next);
free(*tail);
*tail=temp;
temp->next=NULL;
return head;
}
void printData(pLINK head)//打印信息
{
if(head==NULL)
{
printf("無信息可打印\n");
return;
}
pLINK temp;
for(temp=head;temp!=NULL;temp=temp->next)
{
printf("[%d]-->",temp->num);
}
printf("NULL\n");
}
int main()
{
pLINK head=NULL;
pLINK tail=NULL;
int select;
while (1)
{
printf("========\n");
printf("1.頭插文件\n");
printf("2.尾插文件\n");
printf("3.頭刪文件\n");
printf("4.尾刪文件\n");
printf("5.打印數(shù)據(jù)\n");
printf("6.退出\n");
printf("========\n");
scanf("%d",&select);
switch(select)
{
case 1:
head=headInsertData(head,&tail);
break;
case 2:
head=tailInsertData(head,&tail);
break;
case 3:
head=headDeleteData(head,&tail);
break;
case 4:
head=tailDeleteData(head,&tail);
break;
case 5:
printData(head);
break;
case 6:
return 0;
default:
break;
}
}
}
無頭鏈表
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來愉舔,“玉大人伙菜,你說我怎么就攤上這事仇让∩ミ矗” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長脱茉。 經(jīng)常有香客問我,道長溉躲,這世上最難降的妖魔是什么益兄? 我笑而不...
- 正文 為了忘掉前任箭券,我火速辦了婚禮蛔六,結(jié)果婚禮上国章,老公的妹妹穿的比我還像新娘捉腥。我一直安慰自己你画,他們只是感情好坏匪,可當(dāng)我...
- 文/花漫 我一把揭開白布适滓。 她就那樣靜靜地躺著凭迹,像睡著了一般嗅绸。 火紅的嫁衣襯著肌膚如雪鱼鸠。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼势篡,長吁一口氣:“原來是場噩夢啊……” “哼禁悠!你這毒婦竟也來了兑宇?” 一聲冷哼從身側(cè)響起瓷产,我...
- 序言:老撾萬榮一對情侶失蹤濒旦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后霎冯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡慷荔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年贷岸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了偿警。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片螟蒸。...
- 正文 年R本政府宣布航闺,位于F島的核電站侮措,受9級特大地震影響分扎,放射性物質(zhì)發(fā)生泄漏胧洒。R本人自食惡果不足惜卫漫,卻給世界環(huán)境...
- 文/蒙蒙 一列赎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦砖瞧、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽逃片。三九已至只酥,卻和暖如春裂允,著一層夾襖步出監(jiān)牢的瞬間绝编,已是汗流浹背十饥。 一陣腳步聲響...
- 正文 我出身青樓轰驳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親级解。 傳聞我的和親對象是個(gè)殘疾皇子勤哗,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 聯(lián)合體 聯(lián)合體:多個(gè)成員變量公用同一塊空間,一個(gè)時(shí)間段只能用其中的一個(gè)成員.如果成員變量都是基本數(shù)據(jù)類型,那么這個(gè)...
- 1.頭指針和頭結(jié)點(diǎn) 頭指針 指向第一個(gè)模塊泵殴。頭結(jié)點(diǎn) 在鏈表的第一個(gè)結(jié)點(diǎn)之前附設(shè)一個(gè)結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)可以不存儲信息笑诅,也...
- 靜態(tài)鏈表 用數(shù)組描述的鏈表叫做靜態(tài)鏈表; 數(shù)組的元素由兩部分組成杖虾, data和cur, data存儲數(shù)據(jù)奇适;cur存...
- 題目:假設(shè)有一個(gè)沒有頭指針的單鏈表。一個(gè)指針指向此單鏈表中間的一個(gè)節(jié)點(diǎn)(不是第一個(gè)嚷往,也不是最后一個(gè)節(jié)點(diǎn))。請將該節(jié)...
- 我決意關(guān)掉那盞油燈 用星光照明 然后用一首詩撲滅一場大火 賀爺說這不是整個(gè)荒原的灰燼 只是我一陣皺眉后的煙灰散落 ...