中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

自己做淘寶客網(wǎng)站嗎2023b站免費推廣入口游戲

自己做淘寶客網(wǎng)站嗎,2023b站免費推廣入口游戲,呼和浩特企業(yè)網(wǎng)站建設(shè),開發(fā)公司甲供材料管理辦法目錄 1.線性表2.順序表 - SeqList3.實現(xiàn)4.順序表缺點 1.線性表 線性表(linear list)是n個具有相同特性的數(shù)據(jù)元素的有限序列線性表是一種在實際中廣泛使用的數(shù)據(jù)結(jié)構(gòu),常見的線性表:順序表、鏈表、棧、隊列、字符串…線性表在邏輯上是線性結(jié)構(gòu)&#xff0…

目錄

  • 1.線性表
  • 2.順序表 - SeqList
  • 3.實現(xiàn)
  • 4.順序表缺點


1.線性表

  • 線性表(linear list)是n個具有相同特性的數(shù)據(jù)元素的有限序列
  • 線性表是一種在實際中廣泛使用的數(shù)據(jù)結(jié)構(gòu),常見的線性表:順序表、鏈表、棧、隊列、字符串…
  • 線性表在邏輯上是線性結(jié)構(gòu),也就說是連續(xù)的一條直線。但是在物理結(jié)構(gòu)上并不一定是連續(xù)的,線性表在物理上存儲時,通常以數(shù)組和鏈式結(jié)構(gòu)的形式存儲

2.順序表 - SeqList

  • 概念及結(jié)構(gòu)

    • 順序表是用一段物理地址連續(xù)的存儲單元依次存儲數(shù)據(jù)元素的線性結(jié)構(gòu),一般情況下采用數(shù)組存儲。在數(shù)組上完成數(shù)據(jù)的增刪查改 (此數(shù)組必須從第一個位置開始,連續(xù)存儲)

    請?zhí)砑訄D片描述

  • 動態(tài)順序表 – 使用動態(tài)開辟的數(shù)組存儲


3.實現(xiàn)

  • 接口
typedef int SLDataType;//類型重命名,方便以后維護替換別的類型typedef struct SeqList
{SLDataType* arr;//指向動態(tài)數(shù)組指針int size;//有效數(shù)據(jù)個數(shù)int capacity;//容量 - 空間大小
}SL;//順序表初始化
void SLInit(SL* ps);
//銷毀順序表
void SLDestroy(SL* ps);
//打印順序表
void SLPrint(SL* ps);//檢測增容
void SLCheckCapacity();//增刪查改
//尾插/尾刪 - O(1)
void SLPushBack(SL* ps, SLDataType x);
void SLPopBack(SL* ps);//頭插/頭刪 - O(N)
void SLPushFront(SL* ps, SLDataType x);
void SLPopFront(SL* ps);//從任意位置插入/刪除
void SLInsert(SL* ps, int pos, SLDataType x);
void SLErase(SL* ps, int pos);//查找和修改
int SLSearch(SL* ps, SLDataType x);
void SLModify(SL* ps, int pos, SLDataType x);
  • 接口實現(xiàn)
void SLInit(SL* ps)
{assert(ps);ps->arr = NULL;ps->size = 0;ps->capacity = 0;
}void SLDestroy(SL* ps)
{assert(ps);if (ps->arr){free(ps->arr);ps->arr = NULL;ps->capacity = 0;ps->size = 0;}
}void SLPrint(SL* ps)
{assert(ps);int i = 0;for (i = 0; i < ps->size; i++){printf("%d ", ps->arr[i]);}printf("\n");
}void SLCheckCapacity(SL* ps)
{assert(ps);//檢查容量空間,滿了擴容if (ps->size == ps->capacity){ps->capacity = ps->capacity == 0 ? 4 : ps->capacity * 2; //最大容量擴容SLDataType* tmp = realloc(ps->arr, ps->capacity * sizeof(SLDataType));if (NULL == tmp){perror("realloc:");exit(1);}ps->arr = tmp;}
}void SLPushBack(SL* ps, SLDataType x)
{assert(ps);SLCheckCapacity(ps);ps->arr[ps->size] = x;ps->size++;//SLInsert(ps, ps->size, x); //以上代碼可以用這個封裝替換了
}void SLPopBack(SL* ps)
{assert(ps);//暴力檢查 - 適用于調(diào)試階段assert(ps->size > 0);//溫柔檢查 - 適用于和用戶交互使用//if (0 == ps->size)//{//	printf("SeqList is empty\n");//	return;//}ps->size--;SLErase(ps, ps->size - 1); //以上代碼可以用這個封裝替換了
}void SLPushFront(SL* ps, SLDataType x)
{assert(ps);SLCheckCapacity(ps);//挪動數(shù)據(jù)int end = ps->size - 1;while (end >= 0){ps->arr[end + 1] = ps->arr[end];end--;}ps->arr[0] = x;ps->size++;//SLInsert(ps, 0, x); //以上代碼可以用這個封裝替換了
}void SLPopFront(SL* ps)
{int begin = 1;while (begin < ps->size){ps->arr[begin - 1] = ps->arr[begin];begin++;}ps->size--;//SLErase(ps, 0); //以上代碼可以用這個封裝替換了
}void SLInsert(SL* ps, int pos, SLDataType x)
{assert(ps);assert(pos >= 0 && pos <= ps->size); //檢驗位置合法性SLCheckCapacity(ps);//挪動數(shù)據(jù)int end = ps->size - 1;while (end >= pos){ps->arr[end + 1] = ps->arr[end];end--;}ps->arr[pos] = x;ps->size++;
}void SLErase(SL* ps, int pos)
{assert(ps);assert(pos >= 0 && pos < ps->size);//挪動數(shù)據(jù)int begin = pos;while (begin < ps->size - 1){//后面的數(shù)據(jù)往前搬ps->arr[begin] = ps->arr[begin + 1];begin++;}ps->size--;
}int SLSearch(SL* ps, SLDataType x)
{assert(ps);int i = 0;for (i = 0; i < ps->size; i++){if (ps->arr[i] == x){return i;}}return -1;
}void SLModify(SL* ps, int pos, SLDataType x)
{assert(ps);assert(pos >= 0 && pos < ps->size);ps->arr[pos] = x;
}

4.順序表缺點

  • 空間不夠,需要擴容。
    • 擴容有一定性能損耗
    • 一般擴容兩倍,存在一些空間浪費
  • 頭部或者中間位置插入刪除效率低下 – 挪動數(shù)據(jù)
  • 改善方案 – 鏈表 – 對順序表缺陷的優(yōu)化
    • 按需申請釋放空間
    • 頭部或者中間插入刪除,不需要挪動數(shù)據(jù)
http://www.risenshineclean.com/news/8140.html

相關(guān)文章:

  • 品牌網(wǎng)站怎么做鄭州建網(wǎng)站的公司
  • 如今做哪些網(wǎng)站致富百度關(guān)鍵詞價格怎么查詢
  • 做移動網(wǎng)站快速排名軟件seo變現(xiàn)培訓(xùn)
  • 沙河口網(wǎng)站建設(shè)競價排名什么意思
  • 網(wǎng)站怎么做動態(tài)切圖hs網(wǎng)站推廣
  • 鞍山云網(wǎng)站河南今日頭條新聞最新
  • 怎么把自己做的網(wǎng)站發(fā)布百度關(guān)鍵詞相關(guān)性優(yōu)化軟件
  • 如何利用谷歌云做自己的網(wǎng)站seo引擎優(yōu)化外包公司
  • 網(wǎng)站怎么做成app百度軟文
  • 做ps賺錢網(wǎng)站郭生b如何優(yōu)化網(wǎng)站
  • 丹江口網(wǎng)站開發(fā)口碑營銷策略
  • 網(wǎng)站建設(shè)要學(xué)會什么軟件網(wǎng)絡(luò)推廣網(wǎng)站的方法
  • 常德本地網(wǎng)絡(luò)論壇南寧seo主管
  • 本地網(wǎng)站建設(shè)荊門網(wǎng)站seo
  • 旅游電子商務(wù)網(wǎng)站排名品牌策劃方案怎么寫
  • 網(wǎng)站打開出現(xiàn)建設(shè)中公關(guān)公司一般收費標準
  • 淄博晨曦網(wǎng)站建設(shè)2023年新聞熱點事件
  • 公司網(wǎng)站開發(fā)費用濟南興田德潤o簡介圖片seo技術(shù)培訓(xùn)東莞
  • 用織夢的網(wǎng)站怎么做推廣廣州最新疫情最新消息
  • 網(wǎng)頁界面設(shè)計的構(gòu)成要素電商seo是什么意思啊
  • 速拓科技是做網(wǎng)站sem網(wǎng)絡(luò)營銷
  • 本地網(wǎng)站建設(shè)百度的人工客服電話
  • 網(wǎng)站做跳轉(zhuǎn)對排名有影響嗎百度識別圖片找圖
  • 有哪些網(wǎng)站做汽車周邊服務(wù)360手機優(yōu)化大師下載
  • 做網(wǎng)站的銷售團隊合肥網(wǎng)絡(luò)推廣服務(wù)
  • 海星wap建站培訓(xùn)計劃方案
  • 做網(wǎng)站都要學(xué)什么互換鏈接的方法
  • 知乎 網(wǎng)站開發(fā)工具百度關(guān)鍵詞價格排行榜
  • wordpress自定義二級菜單的標簽網(wǎng)絡(luò)優(yōu)化app
  • 中國最頂尖的平面設(shè)計公司網(wǎng)站優(yōu)化最為重要的內(nèi)容是