2023-05-20 16:55:53 +08:00
|
|
|
|
/*
|
2023-05-20 17:31:33 +08:00
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>xiao_lfeng <EFBFBD><EFBFBD>д
|
2023-05-20 17:32:28 +08:00
|
|
|
|
* <EFBFBD>俪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɴ˻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ICP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߱<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ICP<EFBFBD><EFBFBD>2022014822<EFBFBD><EFBFBD>
|
2023-05-20 16:55:53 +08:00
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#include <cstdio>
|
2023-05-20 17:23:02 +08:00
|
|
|
|
#include <cstdlib>
|
|
|
|
|
|
2023-05-20 16:55:53 +08:00
|
|
|
|
#define MAXSIZE 100
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
int data[MAXSIZE];
|
|
|
|
|
int length;
|
|
|
|
|
} ArrayList;
|
|
|
|
|
|
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>
|
|
|
|
|
void InitList(ArrayList &L) {
|
|
|
|
|
L.length = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>
|
2023-05-20 17:23:02 +08:00
|
|
|
|
void DestroyList(ArrayList &L) {}
|
2023-05-20 16:55:53 +08:00
|
|
|
|
|
|
|
|
|
// <20><>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2023-05-20 17:23:02 +08:00
|
|
|
|
void PutSeqList(ArrayList &L, int n) {
|
2023-05-20 16:55:53 +08:00
|
|
|
|
// <20>жϵ<D0B6>ǰ<EFBFBD><C7B0><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if (L.length + n >= MAXSIZE) {
|
|
|
|
|
printf("[WARNING] <20><><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2023-05-20 17:23:02 +08:00
|
|
|
|
int inputData;
|
|
|
|
|
printf("[INFO] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d <20><><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3>м<EFBFBD><D0BC>ûس<C3BB><D8B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n", n);
|
|
|
|
|
for (int i = L.length; i < L.length + n; ++i) {
|
|
|
|
|
printf("[INPUT] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d <20><><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>", i + 1);
|
|
|
|
|
scanf_s("%d", &inputData);
|
|
|
|
|
L.data[i] = inputData;
|
|
|
|
|
}
|
|
|
|
|
L.length += n;
|
2023-05-20 16:55:53 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-05-20 17:23:02 +08:00
|
|
|
|
// <20><><EFBFBD>Ա<EFBFBD><D4B1>ij<EFBFBD><C4B3><EFBFBD>
|
|
|
|
|
int LengthList(ArrayList L) {
|
2023-05-20 17:31:33 +08:00
|
|
|
|
return L.length;
|
2023-05-20 16:55:53 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-05-20 17:23:02 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>ֵΪindexԪ<78>ص<EFBFBD>λ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>λ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><DFBC><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><DFBC><EFBFBD><EFBFBD>Ŵ<EFBFBD>1<EFBFBD><31>ʼ<EFBFBD><CABC>
|
|
|
|
|
int PositionList(ArrayList &L, int index) {
|
|
|
|
|
if (index > L.length || index <= 0) {
|
|
|
|
|
printf("[WARNING] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
return -999;
|
|
|
|
|
}
|
|
|
|
|
return L.data[index - 1];
|
2023-05-20 16:55:53 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-05-20 17:23:02 +08:00
|
|
|
|
// <20><><EFBFBD>뵥<EFBFBD><EBB5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>e
|
|
|
|
|
int InsertList(ArrayList &L, int index, int e) {
|
|
|
|
|
if (index > L.length || index <= 0) {
|
|
|
|
|
printf("[WARNING] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
for (int i = L.length; i >= index - 1; --i) {
|
|
|
|
|
L.data[i] = L.data[i - 1];
|
|
|
|
|
}
|
|
|
|
|
L.data[index - 1] = e;
|
|
|
|
|
L.length++;
|
|
|
|
|
printf("[WARNING] <20><><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD> %d λ<>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d\n", index, e);
|
|
|
|
|
return 1;
|
2023-05-20 16:55:53 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-05-20 17:23:02 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void OutputSeqList(ArrayList L) {
|
|
|
|
|
printf("[INFO] <20><><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>[ ");
|
|
|
|
|
for (int i = 0; i < L.length - 1; ++i) {
|
|
|
|
|
printf("%d ", L.data[i]);
|
|
|
|
|
}
|
|
|
|
|
printf("%d", L.data[L.length - 1]);
|
|
|
|
|
printf(" ]\n");
|
2023-05-20 16:55:53 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
|
ArrayList list;
|
|
|
|
|
InitList(list);
|
|
|
|
|
|
2023-05-20 17:23:02 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int size;
|
|
|
|
|
printf("[WAITING] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>");
|
|
|
|
|
scanf_s("%d",&size);
|
|
|
|
|
PutSeqList(list, size);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>
|
|
|
|
|
printf("[INFO] <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%d\n", LengthList(list));
|
|
|
|
|
OutputSeqList(list);
|
|
|
|
|
|
|
|
|
|
// <20><>3λ<33>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
|
|
|
|
|
InsertList(list, 3, 0);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>
|
|
|
|
|
printf("[INFO] <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%d\n", LengthList(list));
|
|
|
|
|
OutputSeqList(list);
|
|
|
|
|
|
2023-05-20 17:31:33 +08:00
|
|
|
|
// <20><><EFBFBD>ص<EFBFBD>5<EFBFBD><35><EFBFBD>±<EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
int info_data = 5;
|
|
|
|
|
printf("[INFO] <20><><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD> %d <20><><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>%d\n",info_data, PositionList(list,info_data));
|
|
|
|
|
|
2023-05-20 16:55:53 +08:00
|
|
|
|
DestroyList(list);
|
2023-05-20 17:23:02 +08:00
|
|
|
|
system("pause");
|
2023-05-20 16:55:53 +08:00
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|