順序表的靜態陣列實現增刪改查

2021-10-10 03:16:15 字數 4711 閱讀 2230

#include

#include

#define maxsize 100

//最大允許長度

typedef

struct sqlistsql;

//初始化

void

initlist

(sqlist &l)

l.length=0;

}//增 引數(順序表,要插入的資料,要插入的位置)

void

insertlist

(sqlist &l,

int x,

int i)

l.data[i-1]

=x; l.length++;}

//刪(刪除某乙個位置上的元素)

void

deletebyposition

(sqlist &l,

int i,

int&e)

l.length--;}

//按位查

intselectbyposition

(sqlist &l,

int i)

//按元素查(僅查詢第乙個相同的element)

intselectbyelement

(sqlist &l,

int element)}}

//按元素查(查詢所有相同的element)

void

selectbysameelementall

(sqlist &l,

int element)}}

//改(改變某一位置上的元素)

void

changebyposition

(sqlist &l,

int i,

int x)

//輸出元素

void

display

(sqlist &l)

}int

main()

//將順序表中的length置為我們當前的元素個數

l.length=num;

//列印順序表

display

(l);

//查詢

printf

("\n\n");

int element =

selectbyposition

(l,3);

printf

("當前第3個位置的元素為:%d"

,element)

;//增加

printf

("\n\n");

insertlist

(l,7,3

);display

(l);

//查詢

printf

("\n\n");

int element_x =

selectbyposition

(l,3);

printf

("當前第3個位置的元素為:%d\n"

,element_x)

;printf

("\n\n");

//按元素查詢

int index =

selectbyelement

(l,4);

printf

("元素為4的元素下標為%d\n"

,index)

;printf

("\n\n");

printf

("所有元素為4的元素的下標為:\n");

selectbysameelementall

(l,4);

printf

("\n\n");

//刪除

int e=0;

deletebyposition

(l,3

,e);

printf

("被刪除的第3位的元素為:%d\n"

,e);

display

(l);

printf

("\n\n");

//改

changebyposition

(l,3,4

);display

(l);

return0;

}

#include

#define maxsize 20

typedef

struct sql sqlist;

//初始化

void

initlist

(sqlist &l)

l.length=0;

}//增

intinsertelementlist

(sqlist &l,

int i,

int x)

if(l.length>=maxsize)

for(

int j=l.length; j>=i; j--

) l.data[i-1]

=x; l.length++

;return1;

}//刪

void

deletebyposition

(sqlist &l,

int i,

int&e)

e=l.data[i-1]

;for

(int j=i; j) l.length--

;printf

("刪除成功\n");

}//改

void

changebyposition

(sqlist &l,

int i,

int x)

else

}//查

intselectbyposition

(sqlist &l,

int i)

else

}int

selectbyelement

(sqlist &l,

int x)

}printf

("元素為%d的元素不存在\n"

,x);

return-1

;}//列印元素

void

display

(sqlist &l)

}int

main()

//將順序表中的length置為我們當前的元素個數

l.length=num;

//列印順序表

display

(l);

/* 增

*/printf

("\n\n\n");

int position_a;

int element_a;

printf

("插入的元素的位置為:");

scanf

("%d"

,&position_a)

;printf

("\n");

printf

("插入的元素為:");

scanf

("%d"

,&element_a);if

(insertelementlist

(l,position_a,element_a)

)else

/* 查

*/printf

("\n\n\n");

int position_b;

printf

("請輸入您想要查詢的元素的下標:");

scanf

("%d"

,&position_b)

;int element_b =

selectbyposition

(l,position_b);if

(element_b)

int element_c;

printf

("請輸入您想要查詢的元素:");

scanf

("%d"

,&element_c)

;int index_c =

selectbyelement

(l,element_c)

;printf

("元素為%d的元素下標為%d\n"

,element_c,index_c);/*

改 */

printf

("\n\n\n");

int position_d;

int element_d;

printf

("想要的修改元素的位置為:");

scanf

("%d"

,&position_d)

;printf

("\n");

printf

("修改為:");

scanf

("%d"

,&element_d)

;changebyposition

(l,position_d,element_d)

;display

(l);

/* 刪

*/printf

("\n\n\n");

int e=0;

int position_e;

printf

("想要的刪除的元素的位置為:");

scanf

("%d"

,&position_e)

;deletebyposition

(l,position_e,e)

;display

(l);

return0;

}

動態順序表的增刪改查

順序表還是相對於比較簡單的資料結構,所謂動態,不過是在初始化時 賦予動態空間,所以說,就直接看 了。標頭檔案 pragma once sequence list define crt secure no warnings 1 include include include include typed...

資料結構 增刪改查(靜態順序表 動態順序表)

靜態順序表實現增刪改查的所有 pragma once include include include include typedef int datatype define max size 100 typedef struct seqlist seqlist 初始化 void seqlistini...

實現對動態順序表的增刪改查

增刪改查的操作類 public class seqlist 判滿 public boolean isfull return false 判空 public boolean empty return true 列印順序表 public void display system.out.println 在...