暑假都快结束了,才想起来把数据结构的笔记补一下。

题目

编写程序实现对顺序表的逆置。

部分代码

void Inverse(SeqList *L, int mSize) {
	int i, temp;
	for (i = 0; i < mSize / 2; i++) {
		temp = L->element[i];
		L->element[i] = L->element[mSize - 1 - i];
		L->element[mSize - 1 - i] = temp;
	}
}

完整程序

#include<stdio.h>
#include<stdlib.h>
#define ERROR 0
#define OK 1
typedef int ElemType;
typedef int Status;

typedef struct {
	int n;
	int maxLength;
	ElemType *element;
}SeqList;


Status Init(SeqList *L, int mSize);
Status Output(SeqList L);
void Inverse(SeqList *L, int mSize);
Status Insert(SeqList *L, int i, ElemType x);
// Status Delete(SeqList *L,int i);
// void Destory(SeqList *L);


// 顺序表初始化
Status Init(SeqList *L, int mSize) {
	L->maxLength = mSize;
	L->n = 0;
	L->element = (ElemType*)malloc(sizeof(ElemType)*mSize);
	if(!L->element)
		return ERROR;
	return OK;
}

void Inverse(SeqList *L, int mSize) {
	int i, temp;
	for (i = 0; i < mSize / 2; i++) {
		temp = L->element[i];
		L->element[i] = L->element[mSize - 1 - i];
		L->element[mSize - 1 - i] = temp;
	}
}

Status Insert(SeqList *L, int i, ElemType x) {
	int j;
	if (i<-1 || i>L->n - 1)
		return ERROR;
	if (L->n == L->maxLength)
		return ERROR;
	for (j = L->n - 1; j > i; j--) {
		L->element[j + 1] = L->element[j];
	}
	L->element[i + 1] = x;
	L -> n = L->n + 1;
	return OK;
}


// 顺序表输出
Status Output(SeqList L) {
	int i;
	if (!L.n)
		return ERROR;
	for (i = 0; i <= L.n - 1; i++)
		printf("%d ", L.element[i]);  //从前往后逐个输出元素
	return OK;
}

/*
Status Delete(SeqList *L,int i){
	int j;
	if (i<0 || i>L->n - 1)
		return ERROR;
	if (!L->n)
		return ERROR;
	for (j =i+1; j < L->n; j++) {
		L->element[j - 1] = L->element[j];
	}
	L -> n --;
	return OK;
}
*/

/*
void Destory(SeqList *L){
	(*L).n=0;
	(*L).maxLength=0;
	free((*L).element);
}
*/

int main()
{
	int i,x,nn;
	scanf("%d",&nn);
	//printf("\n");
	SeqList list;
	Init(&list, nn);  // 对线性表初始化
	for (i = 0; i < nn; i++) {
		scanf("%d",&x);
		Insert(&list, i - 1, x);
	}
	Output(list);
	Inverse(&list,nn);
	printf("\n");
	Output(list);
	printf("\n");
	// Delete(&list,0);
	// Destory(&list);
}

实验结果

版权声明:本文为博主原创文章,如有错误,恳请大家在评论区指出,在下不胜感激~如要转载注明出处即可~