//
// main.c
// 02-用陣列完成線性表得增刪
////用陣列的方式完成(有序)線性表特定元素的增加和刪減
//// created by wangju on 15/10/9.
//#include #include//預留記憶體空間
#define reserve 100
#define error -1
void addelement(int);
//-1表示刪除失敗 1表示刪除成功
int deleteelement(int);
//輸出list的所有元素
void printlist();
void initlist();
//向新記憶體空間拷貝舊記憶體空間的資料,並釋放舊記憶體空間
void elementtransfer(int *,int *);
void resetlist();
struct list
arraylist;
void addelement(int element)
if (arraylist.length >= arraylist.truelength)
elementtransfer(arraylist.data,olddata);
}arraylist.data[arraylist.length] = element;
arraylist.length++;
}int deleteelement(int element)
for (int i = 0; i < arraylist.length; i ++)
arraylist.length--;
return 1;}}
return -1;
}void elementtransfer(int* newdata,int* olddata)
for (int i = 0; i < arraylist.length; i++)
free(olddata);
}void initlist()
void printlist()
printf("\n");
}void resetlist()
int main(int argc, const char * argv)
printlist();
printf("------------------華麗的分割線-----------------------\n");
deleteelement(40);
deleteelement(0);
deleteelement(149);
addelement(999);
printlist();
return 0;
}
思路:構造乙個c語言 結構體
struct list
arraylist;
用data儲存陣列指標,通過動態記憶體分配的方法。
為了避免頻繁分配空間,設定乙個預留空間
當預留滿了的時候分配新空間
實現**
if (arraylist.length >= arraylist.truelength)
elementtransfer(arraylist.data,olddata);
}
用陣列實現線性表
對於線性結構,有兩種儲存的方法,一種是使用 c語言中內建的陣列,這樣的結構成為 順序表 另一種使用指標,這樣的結構成為鍊錶。對於線性結構,有12種基本的操作,分別是 初始化 刪除順序表 清空順序表 判斷是否為空 遍歷 求表的長度 求某個元素在表中的位置 返回特定序號的元素 求某個元素的前乙個元素 求...
C語言線性表
include include include 定義乙個linearlist結構體 typedef struct linearlist linearlist 初始化線性表 param 無 return linearlist linearlist initlinearlist return ptr 插...
C語言 線性表
include include include define list size 100 define list increment 10 typedef int datatype typedef structseqlist initlist l 初始條件 無 操作結果 構造乙個空的線性表。成功返回...