1鏈表相關(guān)操作

1.創(chuàng)建帶頭節(jié)點(diǎn)的鏈表肉微,并且遍歷輸出。

題目

Paste_Image.png
#include    <stdio.h>
#include    <stdlib.h>
#define    N    8
typedef  struct list
{  int  data;
   struct list  *next;
} SLIST;

SLIST *creatlist(int  *a)
{
 SLIST *h,*p,*q;
    int i;
    h = p = (SLIST *)malloc(sizeof(SLIST));
    for(i = 0; i < N; i++) {
        q = (SLIST *)malloc(sizeof(SLIST));
        q->data = a[i];
        p->next = q;
        p = q;
    }
    p->next = 0;
    return  h;
 }
void outlist(SLIST  *h)
{
 SLIST *p = h->next;
    while(p) {
        printf("%d ",p->data);
        p = p->next;
    }
    printf("\n");
}
int main(void)
{
   SLIST  *head;
  int a[N],i;
   for(i=0;i<N;i++)
   {
       scanf("%d",&a[i]);
   }
  head=creatlist(a);
  outlist(head);
  return 0;
}

2.插入新鏈表蜡塌,保持順序碉纳,并遍歷輸出鏈表。

Paste_Image.png
#include    <stdio.h>
#include    <stdlib.h>
typedef  struct list
{  int  data;
   struct list  *next;
} SLIST;

SLIST *creatlist()
{  
SLIST *head,*tail,*cnew;
     int num;
    head=NULL;
  
  while(1)
    {
     scanf("%d",&num);
     if(num==-1)
       break;
     cnew=(SLIST*)malloc(sizeof(SLIST));
     cnew->data=num;
     cnew->next=NULL;
     if(head==NULL)
        head=cnew;
     else
        tail->next=cnew;
     tail=cnew;
    }
    return head;
 }
void outlist(SLIST  *h)
{  
SLIST   *p;
       for(p=h;p!=NULL;p=p->next)
       printf("%d ",p->data);
    printf("\n");
}
int main(void)
{  
   SLIST  *head;
  head=creatlist();
  outlist(head);
  return 0;
}

3.插入新的鏈表馏艾,并遍歷輸出劳曹。

Paste_Image.png
#include    <stdio.h>
#include    <stdlib.h>
#define    N    8
typedef  struct list
{  int  data;
   struct list  *next;
} SLIST;
SLIST *insertlist(SLIST * p,int *pvalue)
{
    SLIST *tmp=p,*tmp_p;
    int t=*pvalue;
    while(tmp->next!=NULL&&tmp->next->data<t)
    tmp=tmp->next;
    tmp_p=(SLIST *)malloc(sizeof(SLIST));
    tmp_p->next=tmp->next;
    tmp_p->data=t;
    tmp->next=tmp_p;
    return p;
 }


SLIST *creatlist(int  *a)
{
 SLIST  *h,*p,*q;      int  i;
   h=p=(SLIST *)malloc(sizeof(SLIST));
   for(i=0; i<N; i++)
   {  q=(SLIST *)malloc(sizeof(SLIST));
      q->data=a[i];
   p->next=q;
   p=q;
   }
   p->next=0;
   return  h;
 }
void outlist(SLIST  *h)
{
SLIST *tmp =h->next;
while(tmp!=NULL){
    printf("%d ",tmp->data);
    tmp=tmp->next;
}
}
int main(void)
{
   SLIST  *head;
   int a[N];
int nvalue,i;
   for(i=0;i<N;i++)
   {
       scanf("%d",&a[i]);
   }
  scanf("%d",&nvalue);//插入的結(jié)點(diǎn)數(shù)據(jù)
  head=creatlist(a);
  head=insertlist(head,&nvalue);
  outlist(head);
  return 0;
}

4.刪除指定節(jié)點(diǎn)奴愉,并遍歷輸出。

Paste_Image.png
#include    <stdio.h>
#include    <stdlib.h>
#define    N    8
typedef  struct list
{  int  data;
   struct list  *next;
} SLIST;
SLIST *deletelist(SLIST * p,int *pvalue)
{  
 SLIST *todel, *head = p;
    while(p && p->next) {
        if (p->next->data == *pvalue) {
            todel = p->next;
            p->next = todel->next;
            free(todel);
        } else {
            p = p->next;
          }
    }
    return head;
 }


SLIST *creatlist(int  *a)
{  
 SLIST  *h,*p,*q;      int  i;
   h=p=(SLIST *)malloc(sizeof(SLIST));
   for(i=0; i<N; i++)
   {  q=(SLIST *)malloc(sizeof(SLIST));
      q->data=a[i];
   p->next=q; 
   p=q;
   }
   p->next=0;
   return  h;
 }
void outlist(SLIST  *h)
{  
  h = h->next;
    while (h) {
        printf("%d ", h->data);
        h = h->next;
   //     if (h) {
  //          printf(" ");
  //      }
    }
    printf("\n");
}
int main(void)
{  
   SLIST  *head;
int nvalue,i;
int a[N];
   for(i=0;i<N;i++)
   {
       scanf("%d",&a[i]);
   }
  scanf("%d",&nvalue);//刪除的結(jié)點(diǎn)數(shù)據(jù)
  head=creatlist(a);
  head=deletelist(head,&nvalue);
  outlist(head);
  return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末铁孵,一起剝皮案震驚了整個(gè)濱河市锭硼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蜕劝,老刑警劉巖檀头,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異岖沛,居然都是意外死亡暑始,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進(jìn)店門婴削,熙熙樓的掌柜王于貴愁眉苦臉地迎上來廊镜,“玉大人,你說我怎么就攤上這事唉俗∴推樱” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵虫溜,是天一觀的道長播赁。 經(jīng)常有香客問我,道長吼渡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任乓序,我火速辦了婚禮寺酪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘替劈。我一直安慰自己寄雀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布陨献。 她就那樣靜靜地躺著盒犹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪眨业。 梳的紋絲不亂的頭發(fā)上急膀,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天,我揣著相機(jī)與錄音龄捡,去河邊找鬼卓嫂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛聘殖,可吹牛的內(nèi)容都是我干的晨雳。 我是一名探鬼主播行瑞,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼餐禁!你這毒婦竟也來了血久?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤帮非,失蹤者是張志新(化名)和其女友劉穎氧吐,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喜鼓,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡副砍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了庄岖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片豁翎。...
    茶點(diǎn)故事閱讀 39,953評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖隅忿,靈堂內(nèi)的尸體忽然破棺而出心剥,到底是詐尸還是另有隱情,我是刑警寧澤背桐,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布优烧,位于F島的核電站,受9級特大地震影響链峭,放射性物質(zhì)發(fā)生泄漏畦娄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一弊仪、第九天 我趴在偏房一處隱蔽的房頂上張望熙卡。 院中可真熱鬧,春花似錦励饵、人聲如沸驳癌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽颓鲜。三九已至,卻和暖如春典予,著一層夾襖步出監(jiān)牢的瞬間甜滨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工瘤袖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留艳吠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓孽椰,卻偏偏與公主長得像昭娩,于是被迫代替她去往敵國和親凛篙。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 定義鏈表結(jié)構(gòu)體(節(jié)點(diǎn)) 1.創(chuàng)建一個(gè)鏈表 2.向鏈表中添加一個(gè)節(jié)點(diǎn) 3.向指定的位置添加一個(gè)節(jié)點(diǎn) 4.刪除指定位置...
    Bury丶冬天閱讀 232評論 0 0
  • 1栏渺。頭插法和尾插法創(chuàng)建鏈表
    Pitfalls閱讀 320評論 0 0
  • 1 序 2016年6月25日夜呛梆,帝都,天下著大雨磕诊,拖著行李箱和同學(xué)在校門口照了最后一張合照填物,搬離寢室打車去了提前租...
    RichardJieChen閱讀 5,103評論 0 12
  • 樹的概述 樹是一種非常常用的數(shù)據(jù)結(jié)構(gòu),樹與前面介紹的線性表霎终,棧滞磺,隊(duì)列等線性結(jié)構(gòu)不同,樹是一種非線性結(jié)構(gòu) 1.樹的定...
    Jack921閱讀 4,452評論 1 31
  • 今天的主題課:血液莱褒。當(dāng)問到如果我們不小心受傷了击困,會怎樣?楷楷回答:會流血的广凸。那么血液是什么顏色呢阅茶?“紅色!”楷楷馬...
    ic班閱讀 326評論 0 0