/*
鏈式儲存 結構
功能:增加 刪除 查詢 替換 返回總個數
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...
鏈式儲存結構
它不要求邏輯上相鄰的元素在物理位置上也相鄰.因此它沒有順序儲存結構所具有的弱點,但也同時失去了順序錶可隨機訪問的優點.編輯 一般在計算機的硬碟中,檔案都是鏈式儲存的。我們知道,多個 扇區組成乙個 簇,簇是計算機儲存資料的基本單位。而乙個檔案是儲存在多個在空間上也許並不相連的簇中的。這就是鏈式儲存。但...