C語言實現順序表的增刪查改以及排序

2021-07-12 04:00:21 字數 2602 閱讀 2015

seqlist.h:

#ifndef __seqlist__

#define __seqlist__

#define max 5

#include typedef int datatype;

typedef struct seqlist

seqlist;

void printseqlist(seqlist* pseq);

void initseqlist(seqlist* pseq);

void pushback(seqlist* pseq,datatype x);

void popback(seqlist* pseq);

void pushfront(seqlist* pseq,datatype x);

void popfront(seqlist* pseq);

void insert(seqlist* pseq, size_t pos, datatype x);

int find(seqlist* pseq, datatype x);

void erase(seqlist* pseq, size_t pos);

void remove(seqlist* pseq, datatype x);

void removeall(seqlist* pseq, datatype x);

void bubblesort(seqlist* pseq);

void seclectsort(seqlist* pseq);

#endif

seqlist.c:

#include "seqlist.h"

#include #include void static swap(datatype *left, datatype *right)//內部實現交換的函式

void printseqlist(seqlist* pseq)//列印線並表的內容

for (; i < pseq->size; i++)

printf("\n");

return;

}void initseqlist(seqlist* pseq)//初始化線性表

void pushback(seqlist* pseq, datatype x)//尾插

pseq->array[pseq->size++] = x;

return;

}void popback(seqlist* pseq)//尾刪

pseq->size--;

return;

}void pushfront(seqlist* pseq, datatype x)//頭插

for (; i>0; i--)

pseq->array[i] = x;

pseq->size++;

return;

}void popfront(seqlist* pseq)//頭刪

for (; isize-1; i++)

pseq->size--;

return;

}void insert(seqlist* pseq,size_t pos,datatype x)//指定位置插入

for (; i >=pos-1; i--)

pseq->array[pos - 1] = x;

pseq->size++;

}int find(seqlist* pseq, datatype x)//查詢第乙個元素

return -1;

}void erase(seqlist* pseq, size_t pos )//刪除指定位置的元素

if (pos > pseq->size)

size_t i = pos-1;

for (; i size; i++)

pseq->size--;

}void remove(seqlist* pseq, datatype x)//刪除第乙個元素

void removeall(seqlist* pseq, datatype x)//刪除全部相同元素

else

}pseq->size -= count;

}void bubblesort(seqlist* pseq)//氣泡排序}}

}void seclectsort(seqlist* pseq)//選擇排序

}swap(&pseq->array[i], &pseq->array[min]);

}}

測試**:

#include #include "seqlist.h"

void test1(seqlist*pseq)//測試**

void test2(seqlist*pseq)

void test3(seqlist*pseq)

void test4(seqlist*pseq)

void test5(seqlist*pseq)

void test6(seqlist*pseq)//氣泡排序驗證

void test7(seqlist*pseq)

int main()

如有不足希望批評指正

本文出自 「pawnsir的it之路」 部落格,請務必保留此出處

順序表的增刪查改(C語言實現)

common.h ifndef common h define common h include include include include include include 檢查記憶體洩漏 pragma warning disable 4996 define elemtype int defin...

C語言實現對順序表的增刪改查

1 在表中第i個位置插入新元素x int insert int line,int num,int length,int place else line place 1 num return 1 2 在表中刪除第i個元素 第一步,判斷刪除位置的合理性 第二步,從第i 1個元素開始,依次向後直到最後乙個...

C語言實現對順序表的增刪改查

1 在表中第i個位置插入新元素x int insert int line,int num,int length,int place else line place 1 num return 1 2 在表中刪除第i個元素 第一步,判斷刪除位置的合理性 第二步,從第i 1個元素開始,依次向後直到最後乙個...