划水了很多天, 哈哈了解到學習還是不能停, 先把這個補上!
//1. 什麼是線性結構?
//線性結構是乙個有序資料元素集合;
////2. 線性結構中都包含什麼內容?
//線性表, 棧, 列隊, 雙佇列, 陣列, 串;
////3. 什麼是順序表?順序表的分類?
//一段實體地址連續的儲存單元連成的線性結構(一般用陣列儲存)
//分為 靜態順序表(使用定長陣列儲存)動態順序表(使用動態開闢的陣列儲存)
//4. 動態順序表的以下操作:
// 動態的順序表
#include
#include
#pragma warning(disable:4996)
typedef int datatype;
typedef struct seqlist
seqlist, *pseq;
typedef struct seqlist seqlist;
typedef struct seqlist* pseqlist;
// 順序表的初始化
void seqlistinit(pseq ps, int capacity)
ps->_size = 0;
}// 在順序表的尾部插入值為data的元素
void seqlistpushback(pseq ps, datatype data)
if (_capacity == ps->_size)
ps->_array[ps->_size] = data;//尾部插入
ps->_size++;//長度加一
}// 刪除順序表最後乙個元素
void seqlistpopback(pseq ps)
ps->_size–;//長度減一, 後面的內容丟棄
}// 在順序表的頭部插入值為data的元素
void seqlistpushfront(pseq ps, datatype data)
if (max_size == ps->_size)
for (i = ps->_size; i > 0; --1)
ps->_size++;
ps->_array[0] = data;//插入
}// 刪除順序表頭部的元素
void seqlistpopfront(pseq ps);
ps->_size–;
}// 在順序表pos位置插入值為data的元素
void seqlistinsert(pseq ps, int pos, datatype data)
if (ps->_size == ps->_capacity)
return;
for (int i = ps->_size; i > pos; i–)
ps->_array[pos] = data;
ps->_size++;
}// 刪除順序表中pos位置上的元素
void seqlisterase(pseq ps, int pos)
for (int i = pos; i < ps->_size; i++)
ps->_size–;
}// 在順序表中查詢值為data的元素,找到返回該元素在順序表中的下標,否則返回-1
int seqlistfind(pseq ps, datatype data)
return -1;
}// 檢測順序表是否為空,如果為空返回非0值,非空返回0
int seqlistempty(pseq ps)
// 返回順序表中有效元素的個數
int seqlistsize(pseq ps)
// 返回順序表的容量大小
int seqlistcapacity(pseq ps)
// 將順序表中的元素清空
void seqlistclear(pseq ps)
// 刪除順序表中第乙個值為data的元素
void seqlistremove(pseq ps, datatype data)
// 銷毀順序表
void seqlistdestroy(pseq ps)
}// 順序表的擴容
void checkcapacity(pseq ps)
資料結構 線性結構 順序表
什麼是線性結構?線性結構是n個具有相同特性的資料元素的有限序列,也稱為線性表。線性結構中都包含什麼內容?線性結構是一種在實際中廣泛使用的資料結構,常見的線性結構 順序表 鍊錶 棧 佇列 字串 什麼是順序表?順序表的分類?順序表是用一段實體地址連續的儲存單元依次儲存資料元素的線性結構,一般情況下採用陣...
資料結構 A 線性結構之順序表
1.線性表 線性表 linear list 是n個具有相同特性的資料元素的有限序列。線性表是一種在實際中廣泛使用的資料結構,常見的線性表 順序表 鍊錶 棧 佇列 字串。線性表在邏輯上是線性結構,也就說是連續的一條直線。但在物理結構上並不一定是連續的,線性表在物理上儲存時,通常以陣列和鏈式結構的形式儲...
資料結構 順序線性表
順序線性表標頭檔案 ifndef vzhangseqlist define vzhangseqlisttypedef void seqlist typedef void seqlistnode 建立線性表 declspec dllexport 如果在動態庫中定義標頭檔案 這句話不可以缺少 不然會報錯...