資料結構線性表1

2021-06-19 22:57:01 字數 1706 閱讀 2732

# include # include # include struct arr//定義了乙個資料型別,該資料型別的名字是struct arr

;void init_arr(struct arr * parr, int length);

bool insert_arr(struct arr * parr, int pos, int val);//pos的值從1開始

bool delete_arr(struct arr * parr, int pos, int * val);

int get();

bool is_empty(struct arr * parr);

bool is_full(struct arr * parr);

void sort_arr(struct arr * parr);

void show_arr(struct arr * parr);

void inversion_arr(struct arr * parr);

int main(void)

else

*/if ( delete_arr(&arr, 1 ,&val) )

else

inversion_arr(&arr);

show_arr(&arr);

sort_arr(&arr);

show_arr(&arr);

//printf("%d", arr.len);

return 0;

}void init_arr(struct arr * parr,int length)

else

return;

//parr->len = 99;//(*parr).len = 99;

}bool is_empty(struct arr * parr)

else

}void show_arr(struct arr * parr)

else

printf("\n");

}}bool is_full(struct arr * parr)

else

} //不滿時追加

else

}bool insert_arr(struct arr * parr, int pos, int val)

if (pos<1 || pos>parr->cnt+1)

for (i=parr->cnt-1; i>=pos-1; --i)

parr->pbase[pos-1] = val;

parr->cnt++;

}bool delete_arr(struct arr * parr, int pos, int * pval)

if(pos<1 || pos>parr->cnt)

*pval = parr->pbase[pos-1];

for (i=pos; icnt; ++i)

parr->cnt--;

return true;

}void inversion_arr(struct arr * parr)

return;

}void sort_arr(struct arr * parr)

}}}/*

a.add(10);

a.add(20);

記憶體擴充問題;

自動增長因子;

時間效率比較高;

動態記憶體擴充;

*/

資料結構 線性表1

一 線性表 定義 由零個或多個資料元素組成的有限序列。強調 1 線性表是乙個序列,也就是說元素之間是有先來後到的 2 若元素存在多個,則第乙個元素無前驅,最後乙個元素無後繼,其他元素都有且只有乙個前驅和後繼 3 線性表是有限的,即他能夠處理的元素是有限的 舉列 請問公司的組織架構是否屬於線性關係?答...

資料結構 1 線性表

線性表的順序儲存結構指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。int getelem sqlist l,int i,elemtype e e l.data i 1 return 1 插入演算法思路 1.如果插入的位置不合理,丟擲異常。2.如果線性表的大小大於等於陣列長度,則丟擲異常或動...

資料結構 線性表1

單鏈表順序鍊錶就像陣列一樣,建立鍊錶時分配的空間已經是訂好的了。大小為每乙個elem的大小 elem個數。不支援動態分配 貌似也可以但是演算法效能會下降 分配記憶體時,是以區塊來分配的,一分就分一大塊。大小為每乙個elem的大小 elem個數。不支援動態分配 貌似也可以但是演算法效能會下降 查詢el...