順序表初級

2021-08-31 03:57:08 字數 1788 閱讀 6779

增刪改查

//防止標頭檔案重複包含的時候重定義

//因為結構體的定義

//一般寫在標頭檔案中的

#ifndef _sxb_h_

#define _sxb_h_

struct student

;typedef student data;

struct sxb

;sxb* createsxb();//建立

bool insertsxb(sxb* sxb,int xb, data data);//插入

void pushbacksxb(sxb* sxb,data data); //新增到末尾

bool erasesxb(sxb* sxb,int xb);//刪除指定

//查詢資料,返回所在下標,沒找到返回-1下標

int finddatasxb(sxb* sxb,

data data,bool (*bj)(data&, data&),

int startxb = 0 );

data* getdatasxb(sxb* sxb,int xb);//獲取

void clearsxb(sxb* sxb);//清空

int getlensxb(sxb* sxb);//獲取長度

void destroysxb(sxb* sxb);//銷毀

void sortsxb(sxb* sxb,bool (*bj)(data&, data&));//排序

#endif

#include #include "sxb.h"

//建立

sxb* createsxb()

//插入

bool insertsxb(sxb* sxb, int xb, data data)

//移位

for (int i = sxb->len-1; i >= xb; --i)

sxb->p[i+1] =sxb-> p[i];

//插入資料

sxb->p[xb] = data;

sxb->len++;

return true;

}//新增到末尾

void pushbacksxb(sxb* sxb,data data)

//刪除指定下標的資料

bool erasesxb(sxb* sxb,int xb)

//查詢資料,返回所在下標,沒找到返回-1下標

int finddatasxb(sxb* sxb,data data,

bool (*bj)(data&, data&),

int startxb)

return -1;

}//獲取某下標的資料的位址

data* getdatasxb(sxb* sxb,int xb)

//清空

void clearsxb(sxb* sxb)

//獲取長度

int getlensxb(sxb* sxb)

//銷毀

void destroysxb(sxb* sxb)

free(sxb);

}

#include #include "sxb.h"

bool t1(int& a, int& b)

void main()

else

int len = getlensxb();

std::cout<<"長度為:"

C初級 順序表

定義 儲存和組織資料的方式 演算法對資料進行處理 四大基本操作 增 刪 查 改 根據資料之間的邏輯結構將資料分為以下幾種關係 1.5資料間的儲存結構 順序表 鍊錶 雙鏈表 棧和佇列 在實現對陣列的操作之前 已經預先定義如下結構體變數 typedef struct list list 對結構體變數進行...

順序表 順序表定位

這兩個題本質一模一樣,唯一不同的是本題利用 順序表 將陣列a包裝了起來。在遍歷的過程中,拿順序表的資料去和x比對,若相同,返回當前下標值,若到了最後乙個資料元素都不相同,就返回 1 1.遍歷順序表 2.挨個比對資料元素 prism lang c include const int max 20 設定...

順序表專題 1 順序表

順序表的實現 元素儲存區操作 需求 將一組 通常是同一型別 的幾個資料元素作為乙個整體管理和使用,需要建立這種元素的組,並用變數對他們進行記錄。這樣一組資料的元素個數可能發生變化 因為增刪改查等操作 對於這種需求,最簡單的解決方式是將這組元素視為乙個序列,可以將這個結構抽象為線性表。乙個線性表是某類...