线性表--顺序表

顺序表的基本操作和常见算法(Definition Only)

#include <stdio.h>
#define MAXSIZE 50
#define INIT_SIZE 10

/**
 * Author: art1st-d
 * Date:   2018/08/09
 */

typedef int ElemType;

// 静态分配
// typedef struct {
// 	ElemType *ata[MAXSIZE];  
// 	int length;
// }SeqList;  

// 动态分配
typedef struct {
	ElemType *data;  
	int length;
}SeqList;  

/********************   Function Definitions   ********************/

bool ListInsert(SeqList &L, int i, ElemType e);
bool ListDelete(SeqList &L, int i, ElemType &e);

bool Del_Min(SeqList &L, ElemType &value); 										//删除最小元素
void Reverse(SeqList &L); 														//顺序表反转
void Del_X(SeqList &L, ElemType x); 											//删除值为x的元素
void Del_S_T(SeqList &L, ElemType s, ElemType t); 								//删除s与t之间的所有元素 L有序
bool Delete_Same(SeqList &L);							  						//删除所有值相同的元素
bool Merge(SeqList A, SeqList B, SeqList C);									//合并AB表为C
void Reverse(ElemType A[], int left, int right, int arraySize); 				//将一维数组A[m+n]中的m个元素和n个元素互换
void SearchExchangeInsert(ElemType A[], ElemType x);							//顺序有序的线性表A,查找x,找到与后继元素互换,找不到插入,并保证A依然有序
int  M_search(ElemType A[], ElemType B[], int n);								//两个等长有序序列A,B,寻找它们的中位数
int  Majority(int A[], int n);													//找到数组A中的主元素(占据总体半数以上的元素)

void printSeqList(SeqList L); 								//打印SeqList元素

/********************   Function Implementations   ********************/

/**
 *  插入元素操作
 */
bool ListInsert(SeqList &L, int i, ElemType e) {
	
	return true;	
}

/**
 *  删除元素操作
 */
bool ListDelete(SeqList &L, int i, ElemType &e) {
	
	return true;
}

/**
 *  删除最小元素
 */
bool Del_Min(SeqList &L, ElemType &value) {
	return true;
}

/**
 *  反转
 */
void Reverse(SeqList &L) {

}

/**
 *  删除值为x的元素
 */
void Del_X(SeqList &L, ElemType x) {

}

/**
 *  删除值在s-t之间的元素
 */
void Del_S_T(SeqList &L, ElemType s, ElemType t) {

}

/**
 *  删除所有值相同的元素
 */
bool Delete_Same(SeqList &L) {
	return true;
}
/**
 *  合并AB表为C
 */
bool Merge(SeqList A, SeqList B, SeqList C) {
	return true;
}

/**
 *  将一维数组A[m+n]中的m个元素和n个元素互换
 */									
void Reverse(ElemType A[], int left, int right, int arraySize) {

}

/**
 *  顺序有序的线性表A,查找x,找到与后继元素互换,找不到插入,并保证A依然有序
 */				
void SearchExchangeInsert(ElemType A[], ElemType x) {

}						

/**
 *  两个等长有序序列A,B,寻找它们的中位数
 */
int  M_search(ElemType A[], ElemType B[], int n) {
	return 0;
}

/**
 *  找到数组A中的主元素(占据总体半数以上的元素)
 */
int  Majority(int A[], int n) {
	return 0;
}


int main() {

	/* 主函数 */

	return 0;
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值