鏈式儲存 結構

2021-08-19 21:29:18 字數 2557 閱讀 5984

/* 

鏈式儲存 結構

功能:增加 刪除 查詢 替換 返回總個數

2023年5月11日15點33分

*/

#include #include #define ele int

typedef struct _linkarrary

linkarray;

linkarray* new();

void add(linkarray* l, ele data);

int removebydata(linkarray* l, ele data);

int removebyindex(linkarray* l, int index);

int findindexbydata(linkarray* l, ele data);

ele finddatabyindex(linkarray* l, int index);

int replacebyindex(linkarray* l, int index, ele value);

int replacebydata(linkarray* l, ele olddata, ele newdata, int replaceall);

void traserval(linkarray *l);

int count(linkarray *l);

int main()

traserval(l);//遍歷

//removebydata(l, 0);//通過給定值刪除

//removebyindex(l, 0);//通過給定下標刪除

//printf("查詢:%d",findindexbydata(l, 0));//通過給定值查詢

//printf("查詢:%d\n",finddatabyindex(l,10));//通過給定下標查詢

//replacebyindex(l, i,i * 3);//通過給定下標替換

//replacebydata(l,8,110,1);//通過給定值替換

return 0;

}

//第乙個節點為頭節點,不儲存有效資料

linkarray* new()

//增加

void add(linkarray* l, ele data)

l->next = new();

l->next->data = data;

} //刪除(通過給定值)

int removebydata(linkarray* l, ele data)

do

l = l->next;

} while(l->next != null);

return 0;

}

//刪除(通過給定下標)

int removebyindex(linkarray* l, int index)

do

l = l->next;

i++;

} while(l->next != null);

}

//查詢(通過給定資料查詢第乙個相匹配的資料的下標) (如果沒有找到返回-1)

int findindexbydata(linkarray* l, ele data)

l = l->next;

index++;

}

return -1;

} //查詢(通過下標查詢相應的值) (如果沒有就返回ele預設值)

ele finddatabyindex(linkarray* l, int index)

l = l->next;

while(l != null)

l = l->next;

i++;

} return data;

}

//修改(通過下標修改相應值)

int replacebyindex(linkarray* l, int index, ele value)

l = l->next;

while(l != null)

l = l->next;

i++;

} return -1;

}

//修改(把指定資料改為指定資料) (說明:如果replaceall == 0,只替換第乙個相匹配的,否則替換所有 )

int replacebydata(linkarray* l, ele olddata, ele newdata, int replaceall)

} }

if(isreplaceone)

else

} //遍歷

void traserval(linkarray *l)

}

//總數

int count(linkarray *l)

鏈式儲存結構

鍊錶的基本概念 鍊錶是一種線性表,但與陣列不同的是,它允許表中元素的儲存單元任意,由指標將儲存表元素的單元串聯起來,因此稱為鏈式儲存結構 鍊錶可以避免刪除或插入元素時移動大量元素,便於擴充套件儲存空間 對於每個資料元素ai來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後繼或前驅的資訊。這兩部...

鏈式儲存結構

鍊錶的基本概念 1 表頭結點 鍊錶中的第乙個結點,包含指向第乙個資料元素的指標以及鍊錶自身的一些資訊 2 資料結點 鍊錶中代表資料元素的結點,包含指向下乙個資料元素的指標和資料元素的資訊 3 尾結點 鍊錶中最後乙個資料結點,其下乙個元素指標為空,表示無後繼 main函式裡寫個測試程式 include...

鏈式儲存結構

它不要求邏輯上相鄰的元素在物理位置上也相鄰.因此它沒有順序儲存結構所具有的弱點,但也同時失去了順序錶可隨機訪問的優點.編輯 一般在計算機的硬碟中,檔案都是鏈式儲存的。我們知道,多個 扇區組成乙個 簇,簇是計算機儲存資料的基本單位。而乙個檔案是儲存在多個在空間上也許並不相連的簇中的。這就是鏈式儲存。但...