對小白友好的C語言順序表的簡單增刪查改

2021-10-08 19:45:38 字數 2496 閱讀 6984

順序表的一些基本操作演算法(copy可以直接執行),附上**:

#include

#define maxsize 100

typedef

int elementtype;

typedef

int datatype;

//定義結構體順序表

typedef

struct seq seq;

//順序表初始化

void

init

(seq* l)

//頭插法建立順序表

void

insert

(seq* l,

int i, elementtype e)

for(

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

) l->data[i -1]

= e;

l->length++;}

// 遍歷元素

void

arraylist

(seq* l)

//printf("%d\n", l->length);

}//1.順序表刪除最小元素並返回刪除元素;

intdel_1

(seq* l)

} l->data[pos]

= l->data[l->length -1]

; l->length--

;return min;

}//2.逆轉元素

void

reverse

(seq* l)

for(

int i =

0; i < l->length /

2; i++)}

//3.一遍刪除所有相同元素的值

void

del_all

(seq* l, elementtype e)

} l->length = count;

}//4.刪除給定的兩個值之間的數

void

del_s_t

(seq* l, elementtype s, elementtype t)

for(

int i =

0; i < l->length; i++)if

(pos == l->length)

/*for ( i = 0; i < l->length && s < t; i++);

if (i >= l->length) */

for(

int i =

0; i < l->length; i++

)else

} l->length = j;

}//5.從有序表中刪除所有值重複的元素,使表中所有元素的值均不同;

void

del_df

(seq* l)

l->length = i +1;

}//6. 將兩個有序表合成乙個新的有序表

seq merge

(seq* l1, seq* l2, seq* l)

while

(i < l1->length)

while

(j < l2->length)

l->length = k;

return

*l;}

//7.將一維陣列中的兩個順序表調換位置

void

reverse2

(int a,

int left,

int right,

int size)

}void

exchange

(int a,

int m,

int n,

int size)

//8.最快時間查詢給定的元素值;若查詢的元素存在,則交換與下乙個元素的位置,不存在就插入維持有序;

void

seek

(seq *l , elementtype e)

if(l->data[mid]

== e && mid != l->length -1)

if(low>high)

l->length++

; l->data[low]

= e;}}

intmain()

;exchange

(a,3,4

,7);

printf

("將陣列中的兩個順序表互換位置後為:");

for(

int i =

0; i <

size

(a); i++

)printf

("嘗試查詢5後的結果是:");

seek

(&list3,5)

;arraylist

(&list3)

;}

附上一張測試的執行:

C語言順序表的簡單實現

插入元素 刪除元素 定位元素 include include define maxsize 1024 線性表的最大長度 typedef structsqlist,sqlink 說明標示符 void createlist sqlink l 創空表 void clearlist sqlink l 置空表...

順序表 用c語言簡單實現順序表

test.h ifndef seplist h define seplist h include include include include define max 100 define default sz 3 當前預設有效值 define isc sz 2 動態分配預設增長個數 typedef...

C語言順序表的實現

順序表的操作有初始化 插入元素 取值 查詢元素 刪除元素這五種操作。下面根據個人在嚴蔚敏老師的 資料結構 c語言版 第 2版 中的了解來說明一下。在初始化之前,我們先設定巨集定義和型別定義 define ok1 define error 0 define overflow 2 define maxs...