簡單的動態順序表實現

2022-04-09 12:57:58 字數 1793 閱讀 5788

#pragma once

#include

#include

#include

#include

typedef int datetype;

typedef struct seqlist

seqlist;

void initseqlist(seqlist* pseq)

void checkcapacity(seqlist* pseq) //檢測容量是否足夠,不夠開闢

}void pushback(seqlist*pseq, datetype x) //從尾部插入資料

void popback(seqlist* pseq) //從尾部刪除資料

//pseq->_array[pseq->_size--] = 0;

pseq->_size--;

}void pushfront(seqlist* pseq, datetype x) //從頭部插入資料

pseq->_array[0] = x; //這步操作一定不要忘了,一定要記住給資料,很容易忽略的地方

pseq->_size++;//插入乙個資料要加加

}void popfront(seqlist*pseq) //從頭部刪除資料(刪除從頭往後移動)

for (; i < pseq->_size-1; i++)

pseq->_size--;

}void insert(seqlist* pseq, size_t pos, datetype x) //任意位置插入,pos是位置,即下標

pseq->_array[pos-1] = x;

pseq->_size++;

}void erase(seqlist* pseq, size_t pos) //任意位置刪除,把這個位置數刪掉

pseq->_size--;

}void remove(seqlist* pseq, datetype x) // 刪第乙個x

pseq->_size--;

return;

} }}

void removeall(seqlist* pseq, datetype x)

else

secondindex++;

} pseq->_size -= count;

}int find(seqlist* pseq, datetype x)

for (; i < pseq->_size; i++) }

return -1;

}void modify(seqlist* pseq, size_t pos, datetype x) //修改某位置的數

for (; i < pos; i++)

}*///或者:

pseq->_array[pos - 1] = x;}

//原始檔

#include

#include "seqlist.h"

void test1() //測試尾部的操作

void test2() //測試頭部的操作

void test3() //任意位置插入

void test4() //刪除某乙個指定的數

void test5() //找乙個數,找到返回1,找不到返回-1

void test6()

void test7()

int main()

動態順序表的簡單實現

順序表是在計算機記憶體中以陣列的形式儲存的線性表,是指用一組位址連續的儲存單元依次儲存資料元素的線性結構。這樣的儲存方式使得線性表邏輯上相鄰的元素,其在物理儲存單元中也是相鄰的。只要知道了第乙個元素的儲存位址,就可以知道線性表中任何乙個元素的儲存位址 include using namespace ...

動態順序表的實現

寫這篇部落格主要是講述一下動態順序表的實現,其中包含 列印 建立 銷毀 尾部插入 尾部刪除 頭部插入 頭部刪除 在順序表的pos位置上插入元素x 刪除順序表pos位置上的元素 順序表中查詢資料x,返回該元素在順序表中的位置 修改pos位置的資料 氣泡排序 選擇排序 查詢已排序順序表中的元素x 等操作...

動態實現順序表

順序表是在計算機記憶體中以 陣列的形式儲存的線性表,是指用一組位址連續的 儲存單元 依次儲存 資料元素 的線性結構。線性表採用順序儲存的方式儲存就稱之為順序表。順序表是將表中的結點依次存放在計算機記憶體中一組位址連續的 儲存單元中。下面來進行順序表的動態實現 標頭檔案 ifndef seqlist ...