資料結構之線性表 順序儲存

2021-06-04 21:34:39 字數 1465 閱讀 7856

從新在學習一遍資料結構,每天盡量都寫點!/*

* fuction: the list struct!

* by: xiaolong

* date: 2023年 03月 13日 星期二 16:50:12 cst

* 功能:線性表的順序儲存實現

* 主要功能:

* * */

#include#include#define max_size 20

#define add_size 10

//這裡定義了乙個結構,用來存放順序表:首位置,空間大小,資料長度

typedef structsqlist;

// 初始化函式

int initlist(sqlist *l)

l->size = max_size;

l->length = 0;

return 0;

}//刪除順序表函式,其實就是釋放之前初始化中malloc的空間位址

//這裡犯了乙個錯誤,就是將l也進行釋放了,因為我之前宣告結構的時候,不是宣告的位址

void deletelist(sqlist *l)

//插入函式:在順序表l中,按照指定的位置n,插入指定的元素e

int insertelem(sqlist *l,int e,int n)

if(l->size == l->length)

l->entry =new_entry;

l->size += add_size;

} //進行插入,將插入位置以後的元素全部後移一位

for(i = l->length-1;i>=n;--i)

//將指定元素插入

l->entry[n]=e;

l->length ++;

return 0;

}//列印所有的元素,如果有元素的話!

int print(sqlist *l)

for(i=0;ilength;++i)

printf("\n");

return 0;

}//順序鍊錶l中,指定的下標n,刪除元素,並將刪除的元素賦給e

int rmelem(sqlist *l,int *e,int n)

*e=l->entry[n];

for(i=n;ilength;i++)

l->length--;

return 0;

}int main(int argc,char ** argv)

//插入元素,迴圈插入元素

while(1)

//列印元素

print(&l);

//刪除指定位置的元素

while(1)

print(&l);

//摧毀線性表

deletelist(&l);

return 0;

}

資料結構 線性表之順序儲存

第i個元素與第乙個元素的儲存位置滿足 loc ai loc a1 i 1 m include include include include 線性表的順序儲存 define max size 100 定義線性表最大長度 順序儲存的缺陷之一 typedef structdata typedef str...

資料結構之線性表 順序儲存

線性表作為一種最簡單的資料結構,在資料的管理和運用方面有著很大的作用,而這種特殊的資料集合,其自身有著很強的特點 線性表 線性表是n個型別相同的資料元素的有限集合,且n大於0,除第乙個元素無直接前驅,和最後乙個元素沒有直接後繼以外,其餘的每個元素都有乙個直接前驅和乙個直接後繼,而且元素之間具有一對一...

資料結構之線性表順序儲存

零個或多個資料元素的有限序列。這裡需要強調幾個關鍵的地方 1 首先它是乙個序列。也就是說,元素之間是有順序的,若元素存在多個,則第乙個元素無前驅,最後乙個元素無後繼,其他每個元素都有乙個前驅和後繼。2 然後,線性表強調是有限的。如果用數學語言來進行定義。可如下 若將線性表標記為 a1,ai 1,ai...