增刪改查
//防止標頭檔案重複包含的時候重定義
//因為結構體的定義
//一般寫在標頭檔案中的
#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 順序表
順序表的實現 元素儲存區操作 需求 將一組 通常是同一型別 的幾個資料元素作為乙個整體管理和使用,需要建立這種元素的組,並用變數對他們進行記錄。這樣一組資料的元素個數可能發生變化 因為增刪改查等操作 對於這種需求,最簡單的解決方式是將這組元素視為乙個序列,可以將這個結構抽象為線性表。乙個線性表是某類...