問(wèn)題是void InitList(Sqlist *L) ,這里只是設(shè)置了len不就相當(dāng)于什么都沒(méi)做嗎,傳遞結(jié)點(diǎn)地址怎么就初始化成結(jié)點(diǎn)數(shù)組,即鏈表了?#include <stdio.h>#include <stdlib.h>#define OK 1#define NO 0#define MAXSIZE 20typedef int bool;typedef int ElemType;int nn=0;void InitList(Sqlist *L) ///傳遞結(jié)點(diǎn)地址而已,怎么會(huì)初始鏈表{ L->len=0;}ElemType FindElem(Sqlist L,int n){ ElemType e; if(n>L.len) return 0; return L.data[n-1];}bool ListInsert(Sqlist *L,int n,ElemType data){ int i; if(L->len==MAXSIZE||n>L->len+1) return 0; for(i=L->len+1; i>=n; i--) { if(L->len==MAXSIZE-1) break; L->data[i]=L->data[i-1]; } L->data[n-1]=++nn; L->len++; return 1;}void main(){ Sqlist L; InitList(&L); ///這怎么就把結(jié)點(diǎn)初始化為鏈表了? int i; ElemType temp; for(i=1; i<=5; i++) { if(!ListInsert(&L,i,i)) printf("no"); } ShowList(L); }
c語(yǔ)言 數(shù)據(jù)結(jié)構(gòu) 順序存儲(chǔ)結(jié)構(gòu)線性表初始化問(wèn)題
拉風(fēng)的咖菲貓
2018-10-11 07:32:07