鏈表的遍歷-結點個數

#include<stdio.h>

#include<stdlib.h>

#define N 9

typedef struct node{

   int  data;

   struct node * next;

}ElemSN;

ElemSN  * Createlink(int a[],int n){ 

    int i;

    ElemSN * h=NULL,* tail, * p;

    for( i=0;i<N;i++) {

p=(ElemSN *)malloc(sizeof(ElemSN));

p->data =a[i];

p->next=NULL;

if(!h)                                 //正向創建鏈表

h=tail=p;

else

tail=tail->next=p;

}

return h;

   }


 int Coundnode (ElemSN *h) {

    ElemSN * p;

    int cut=0;

    for(p=h;p; cut++,p=p->next);        //for循環遍歷cnt++

    return cut;

  }

 int main(void){

        int cut;

int a[]={1,2,3,4,5,6,7,8,9};

ElemSN *head;

head=Createlink(a,9);

cut=Coundnode(head);

printf("結點個數=%d\n",cut);


}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章