順序站刪除元素的方法

2021-06-22 08:26:45 字數 1016 閱讀 9162

暗紅色字型是刪除元素的方法體

#include

#include

#include //有一些編譯器可能不需要引入malloc.h標頭檔案

#define list_init_size    100

#define listincrement     10

typedef structsqlist;

sqlist initlist_sq(sqlist l) 

//在順序線性表l中第i個位置之前插入新的元素e 

//線性表的順序表示在插入元素的時候需要把插入位置之後的元素都向後移動乙個位置 

//l:將要被操作的線性表,i要插入的位置,e要插入的元素 

sqlist listinsert_sq(sqlist l,int i ,int e)

if(l.length >= l.listsize) 

int *q = (l.elem+i-1);//要插入的位置 

printf("插入位置的當前值是 %d\n", *q); 

int *p;

if(l.length>0)

for (p = (l.elem+(l.length-1));p>=q;--p)

*q = e;

++l.length;

return l ;

}sqlist listdelete_sq(sqlist l,int i)

int *q = l.elem+i-1;//要刪除的位置

printf("要刪除的數值是%d\n",*(q));

int *p = l.elem+(l.length-1);//表最後乙個元素的位置 

for(q+1;q+1<=p;q++)//把要刪除位置的元素依次向左移動乙個位置   

--l.length;

return l; }

void printlist(sqlist l)

printf("-----------------------------\n");

}int main(void)

刪除順序表中值重複的元素

設計乙個演算法,刪除順序表中值重複的元素 值相同的元素僅保留第乙個 使得表中所有元素的值均不相同。其中順序表的動態分配用c語言描述如下 define initsize 100 表長度的初始定義 typedef int datatype 定義表元素的資料型別 typedef struct seqlis...

順序表的倒置,刪除區間內元素,刪除指定元素 c

配套的順序表實現 將整個順序表倒置 void reverse sqlist l 刪除順序表中在給定值s和t之間的所有元素 bool dels t sqlist l,elemtype s,elemtype t 從有序順序表中刪除s和t之間的所有元素 bool del s t sqlist l,elem...

jmu ds 順序表區間元素刪除

7 2 jmu ds 順序表區間元素刪除 15 分 若乙個線性表l採用順序儲存結構儲存,其中所有的元素為整數。設計乙個演算法,刪除元素值在 x,y 之間的所有元素,要求演算法的時間複雜度為o n 空間複雜度為o 1 三行資料,第一行是順序表的元素個數,第二行是順序表的元素,第三行是x和y。刪除元素值...