實現線性順序表的增刪查改功能

2021-08-15 14:29:30 字數 2231 閱讀 6593

實現線性順序表的增刪查改功能,主要有main.h  main.c list.c  三個模組函式實現。
#ifndef _main_h_

#define _main_h_

#define size 500

typedef int data_t;

typedef struct

list;

enum e_list

;enum e_islistfull

;list * createlist();

int insertlist(list * list, data_t data, int offset);

int updatelist(list * list, data_t data, int offset);

void destroylist(list * list);

int deletelist(list * list, data_t * data, int offset);

int updatelist(list * list, data_t data, int offset);

void showlist(list * list);

int islistfull(list * list);

#endif

#include "main.h"

#include int main(void)

if (ok == updatelist(list, 100, 5))

if (ok == updatelist(list, -100, 0))

//刪除資料

if (ok == deletelist(list, &data, 0))

if (ok == deletelist(list, &data, 0))

if (ok == deletelist(list, &data, 4))

if (ok == deletelist(list, &data, -1))

destroylist(list);

list = null;

return 0;

}

/*

易錯點: 1, list->count 容易寫成list.count

2, 在offset位置處插入和刪除資料的時候,容易越界出現段錯誤

*/#include "main.h"

#include #include #include list * createlist()

memset(list, 0, size * sizeof(list));

list->count = 0;

//list->data[0] = 0;

return list;

}void destroylist(list * list)

free(list);

list = null;

}int islistfull(list * list)

if (list->count == size - 1)

return false;

}int insertlist(list * list, data_t data, int offset)

if (islistfull(list) == false)

list->data[offset] = data;

} list->count++;

return ok;

}void showlist(list * list)

int i = 0;

for (i = 0; i < list->count; i++)

puts("");

//return true;

}int deletelist(list * list, data_t * data, int offset)

*data = (list->data[offset]);

int i = offset;

for (i = offset; i < list->count - 1; i++)

list->count--;

return ok;

}int updatelist(list * list, data_t data, int offset)

list->data[offset] = data;

return ok;

}

實現順序表的增刪查改

線性表分為兩種 順序表 順序儲存 和鍊錶 鏈式儲存 這裡實現一下順序表管理資料的增刪查改操作 標頭檔案自定義標頭檔案中一般存放自定義函式的函式宣告 sqlist.h pragma once include include include typedef int sqldatatype typedef...

順序表的增刪查改

今天來實現簡單的順序表地增刪查詢操作 1.在開始敲 前,首先要明確自己要幹嘛。2.然後開始構思自己所要實現什麼樣的功能。3.之後將之前構思的功能弄好框架。4.最後再將每個框架的內容補充上。標頭檔案 include pragma once include typedef int sldatatype ...

順序表的增刪查改

順序表實現 順序表是用一段實體地址連續的儲存單元依次儲存的線性結構,一般情況下採用陣列儲存。在陣列上完成資料的增刪查改。靜態順序表 使用定長陣列儲存 動態順序表 使用動態開闢的陣列儲存 靜態順序表適用於確定知道需要存多少資料的場景。靜態順序表的定長陣列導致n定大了,空間開多了浪費,開少了不夠用。首先...