資料結構03 靜態鍊錶

2021-09-05 11:58:00 字數 924 閱讀 4215

靜態鍊錶:

對靜態鍊錶進行初始化相當於初始化陣列:

status initlist(staticlinklist space)

status listinsert( staticlinklist l, int i; elemtype e )

j = malloc_sll(l);

if( j )

l[j].cur = l[k].cur;

l[k].cur = j;

return ok;

} return error;

}

靜態鍊錶的刪除操作
// 刪除在l中的第i個資料元素

status listdelete(staticlinklist l; int i)

k = max_size - 1;

for( j=1; j <= i-1; j++ )

j = l[k].cur;

l[k].cur = l[j].cur;

free_sll(l,j);

return ok;

}// 將下標為k的空間結點**到備用鍊錶

void free_sll(staticlinklist space, int k)

// 返回l中資料元素個數

int listlength(staticlinklist l)

return j;

}

靜態鍊錶的優缺點

優點:

缺點:

題目:快速找到未知長度單鏈表的中間節點。

**:

status getmidnode(linklist l; elemtype *e)

else

}*e = mid->data;

return ok;

}

資料結構03 鍊錶

1.鍊錶是以節點的方式儲存的,鏈式儲存 2.每個節點包含data域 自身的數值 和next域 指向下個節點的位置 3.每個節點不一定是連續的 4.鍊錶分帶頭節點的鍊錶和不帶頭節點的鍊錶 1.定義節點 定義節點 class data02 public data02 int id,string name...

資料結構鍊錶 靜態鍊錶

1 在這裡我們首先要複習一下鍊錶c語言的定義 這看起來很簡單,但實際上至關重要!data域 存放結點值的資料域。next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 也就是說next域儲存的是乙個位址,這個位址是下一節點的位址。注意 鍊錶通過每個結點的鏈域將線性表的n個結點按其邏輯順序鏈結在一...

資料結構 靜態鍊錶

首先我們讓陣列的元素都是由兩個資料域組成,data和cur。也就是說,陣列的每乙個下標都對應乙個data和乙個cur。資料域data用來存放資料元素,也就是通常我們要處理的資料 而游標cur相當於單鏈表中的next指標,存放該元素的後繼在陣列中的下標。我們把這種用陣列描述的鍊錶叫做靜態鍊錶。陣列的第...