順序表的基本操作 C語言版

2021-08-18 10:15:33 字數 3122 閱讀 3472

標頭檔案apr  07.h

#define _crt_secure_no_warning 1

#pragma once

#include #define max_size 10

typedef int datatype;

typedef struct seqlist

seqlist,*pseqlist;

//typedef struct seqlist;

typedef struct seqlist* pseqlist;

////順序表的初始化

void seqlistinit(pseqlist ps);

//順序表的尾插

void seqlistpushback(pseqlist ps,datatype data);

//順序表的尾刪

void seqlistpopback(pseqlist ps);

//順序表的頭插

void seqlistpushfront(pseqlist ps,datatype data);

//順序表的頭刪

void seqlistpopfront(pseqlist ps,datatype data);

//順序表pos位置插入元素data

void seqlistinsert(pseqlist ps,int pos, datatype data);

//刪除順序表pos位置的元素

void seqlisterase(pseqlist ps,int pos);

//移除順序表中第乙個值為data的元素

void remove(pseqlist ps,datatype data);

//移除順序表中所有值為data的元素

void removeall(pseqlist ps,datatype data);

//在順序表中查詢所有值為data的元素,找到返回該元素

//在順序表中的位置,否則返回-1

int seqlistfind(pseqlist ps,datatype data);

///輔助操作

//列印順序表

void printseqlist(pseqlist ps);

//使用氣泡排序對順序表中的元素進行排序

void bubblesort(pseqlist ps);

//使用選擇排序對順序表的元素進行排序

void selectsort(pseqlist ps);

函式檔案seqlist.c

#define _crt_secure_no_warning 1

#include "apr 07.h"

//在順序表中查詢所有值為data的元素,找到返回該元素

//在順序表中的位置,否則返回-1

int seqlistfind(pseqlist ps,int data)

return -1;

}void printseqlist(pseqlist ps)

printf("size: %d\n",ps->_size);

for( ;i_size;++i)

printf("\n");

}//結構體初始化

void seqlistinit(pseqlist ps)

//順序表的尾插

void seqlistpushback(pseqlist ps,datatype data)

ps->_array[ps->_size] = data;

++ps->_size;

}//順序表的尾刪

void seqlistpopback(pseqlist ps)

--ps->_size;

}//順序表的頭插

void seqlistpushfront(pseqlist ps,datatype data)

for(i = ps->_size;i>0;--i)

ps->_array[0] = data;

++ps->_size;

}//順序白的頭刪

void seqlistpopfront(pseqlist ps,datatype data)

for( ; i_size-1; ++i)

--ps->_size;

}//順序表pos位置插入元素data

void seqlistinsert(pseqlist ps,int pos, datatype data)

for(i=ps->_size;i>pos;--i)

ps->_array[pos] = data;

++ps->_size;

}//刪除順序表pos位置的元素

void seqlisterase(pseqlist ps,int pos)

for(i=pos;i_size-1;++i)

--ps->_size;

}//移除順序表中第乙個值為data的元素

void remove(pseqlist ps,datatype data)

ret = seqlistfind(ps,data);

i = ret;

if(-1 == data)

for( ; i_size-1;++i)

--ps->_size;

}//移除順序表中所有值為data的元素

void removeall(pseqlist ps,datatype data)

for( ;i_size;++i) }

ps->_size -= count;

}void swap(int *x,int *y)

//使用氣泡排序對順序表中的元素進行排序

void bubblesort(pseqlist ps)

} }}//使用選擇排序對順序表的元素進行排序

void selectsort(pseqlist ps)

swap(&ps->_array[max],&ps->_array[ps->_size-i-1]);

} }}

測試問件test.c

#define _crt_secure_no_warning 1

#include "apr 07.h"

int main()

順序表的基本操作 c語言版

1.初始化順序表 2.擴充套件順序表的儲存空間 3.列印順序表中的資料 4.向順序表中插入資料 5.刪除順序表中的元素,並將刪除的資料儲存在變數e中 include include define initsize 10 預設最大長度 typedef struct seqlist 初始化順序表 voi...

資料結構之順序表的基本操作(c語言版)

include include define maxsize 50 typedef struct sqlist 插入 bool listinsert sqlist l,int i,char e 刪除 bool listdelete sqlist l,int i,char e l length ret...

《資料結構》C語言版 順序表的基本操作實現

include include define ok 1 define error 0 define true 1 define false 0 define overflow 1 define list init size 100 define listincrement 10 typedef in...