10 6靜態鍊錶

2021-08-10 21:50:20 字數 1087 閱讀 4166

靜態鍊錶

#include #include #define maxsize 30

typedef struct

snode; //靜態鍊錶節點型別

void insertlist(snode l, int i, char x) //在靜態鍊錶中插入元素

else

else

}if (k != j) //在陣列中找到乙個空位置來存放x

else

}} else //i != 1 不是作為第乙個節點插入

if (0 == j) //查完整個靜態鍊錶未找到第i-1 個節點,即鍊錶長度小於i-1 個節點

else

else

}if (k != j) //在陣列中找到乙個空位置來存放x

else

} }}

void print(snode *l)

printf("\n");

}int main()

l[0].cursor = 0; //靜態鍊錶初始為空標誌(0 為鏈尾)

i = 1;

printf("input element of llist\n"); //建立靜態鍊錶

scanf("%c", &x);

while (x != '\n')

printf("input site and element of insert\n");

scanf("%d %c", &i, &x); //輸入要插入元素的位置

insertlist(l, i, x); //在靜態鍊錶中插入元素

printf("output list\n");

print(l); //輸出靜態鍊錶

return 0;

}

鍊錶學習 靜態鍊錶

struct linknode 鍊錶在指定位置插入與刪除元素不需要移動元素,只需要修改指標即可,而陣列刪除與加入元素則需要移動後面的元素,鍊錶相對於陣列來講,則多了指標域空間開銷,拿到鍊錶第乙個節點就相當於拿到整個鍊錶 鍊錶的分類 靜態鍊錶,動態鍊錶 單向鍊錶,雙向鍊錶,迴圈鍊錶,單向迴圈鍊錶,雙向...

靜態鍊錶(陣列 鍊錶和靜態鍊錶的操作)

因為是線性表,不能只講鍊錶,所以今天提一下靜態鍊錶以及陣列 鍊錶 靜態鍊錶之間的對比。陣列基本結構沒得說,插入和刪除的操作也是有的 雖然看著不比較詭異 一般是動態分配乙個足夠長的,記錄有多少個元素後對這個個數進行加減,而不是每插入乙個就動態分配 其實這樣也行,要是不怕麻煩的話 另外在插入刪除操作之後...

靜態鍊錶和迴圈鍊錶

所謂靜態鍊錶,與指標型描述的鍊錶 動態鍊錶 的區別在於靜態鍊錶借用一維陣列來描述鍊錶.這種儲存型別需要預先分配乙個較大的空間.其結構如下圖 與動態鍊錶操作時最大的區別在於 靜態鍊錶需由使用者自己實現malloc和free函式.為了辨明陣列中哪些分量未被使用,解決的辦法是 將所有未被使用過的以及被刪除...