從新在學習一遍資料結構,每天盡量都寫點!
/*
* 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...