PIPIOJ—1213: 顺序表的删除

题目链接 【PIPIOJ—1213: 顺序表的删除】戳我
题目描述 从顺序表L中删除具有最小值的元素(假设唯一)并友函数返回被删元素的值。空出的元素由最后一个元素填补。
输入 输入包含一个整数n代表顺序表L长度。
接下来包含n个整数,代表顺序表L中的元素。
输出 若顺序表为空,输出 "error".
若不为空,输出最小元素的值并输出删除最小值之后的顺序表。
样例输入 3
1 2 3
样例输出 1
3 2
注意点 这里要注意审题,删除最小元素,并把最后一个元素放到删除元素的位置上,
并不需要删除元素后,移动后续元素。
C++参考解答

#define _CRT_SECURE_NO_WARNINGS #include #include #include #define MAXSIZE 50 typedef int ElemType; typedef struct { ElemType data[MAXSIZE]; int length; }SqList; //初始化顺序表 void InitList(SqList& L) { L.length =0; memset(L.data, 0, sizeof(ElemType)); }//打印顺序表 void PrintList(SqList L) { int i; for (i = 0; i < L.length; i++) { printf("%d ", L.data[i]); } printf("\n"); }//删除顺序表元素 bool ListDelete(SqList& L, int i) { if (i<0 || i>L.length) { return false; } if (L.length == 0) { return false; } //不需要移动元素 //int j; /*for(j=i; j

    推荐阅读