1. 程式人生 > >演算法與資料結構之單鏈表

演算法與資料結構之單鏈表

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

從終端輸入一組整數,以0作為結束標誌,將這一簇整數存放在一個連結串列中(不包括0),打印出該連結串列中的值,然後刪除連結串列中的第五個元素,打印出刪除後的結果。


mian.c

#include "stdio.h"typedef int ElemType;typedef struct node{    ElemType data;   /*資料域*/    struct node *next;  /*指標域*/}LNode,*LinkList;LinkList GreatLinkList(int n){    LinkList p,r,list=NULL;    ElemType e;    int i;    for(i=1;i<=n;i++){
        scanf("%d",&e);        p=(LinkList)malloc(sizeof(LNode));        p->
data=e;        p->next=NULL;        if(!list)            list=p;        else            r->next=p;        r=p;    }    return list;}void insertList(LinkList *list,LinkList q,ElemType e){    LinkList p;    p=( LinkList)malloc(sizeof(LNode));    p->data=e;    if(!*list){    *list=p;    p->next=NULL;    }    else{        p->next=q->next;        q->next=p;    }    }void delLink(LinkList *list ,LinkList q){    LinkList r;    if(q==list){        *list=q->next;        free(q);    }    else{        for(r=*list;r->next!=q;r=r->next);        if(r->next!=NULL){            r->next=q->next;            free(q);            }    }}void  destroyLinkList(LinkList *list){    LinkList p,q;    p=*list;                    while(p){    q=p->next;    free(p);    p=q;    }    *list=NULL;} main(){    int e,i;    LinkList l,q;    q=l=GreatLinkList(1);   /*建立一個連結串列結點,q和l指向該結點*/    scanf("%d",&e);    while(e)             /*迴圈地輸入資料,同時插入新生成的結點*/    {      insertList(&l,q,e) ;      q=q->next;      scanf("%d",&e);    }    q=l;    printf("The content of the linklist\n");    while(q)          /*輸出連結串列中的內容*/    {      printf("%d ",q->data);      q=q->next;    }    q=l;    printf("\nDelete the fifth element\n");    for(i=0;i<4;i++)
    /*將指標q指向連結串列第5個元素*/    {        q=q->
next;    }    delLink(&l,q);     /*刪除q所指的結點*/    q=l;    while(q)            /*打印出刪除後的結果*/    {      printf("%d ",q->data);      q=q->next;    }    destroyLinkList(&l);  /*釋放掉該連結串列*/    getche();}


           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述