//删除顺序表中相同部分的数据 voidDeleteSameList(ShunXuList *shunXuList) { for (int i = 1; i <= shunXuList->length; i++){ for (int j = i + 1;j <= shunXuList->length; j++){ if (shunXuList->data[i - 1] == shunXuList->data[j - 1]){ DeletePositionList(shunXuList,j); j--; } } }
PrintList(shunXuList);
}
//按照key值删除顺序表中的数据 voidDeleteKeyList(ShunXuList *shunXuList) { printf("请输入key值:\n"); int number = IsDataNum();
for(int i = 1; i <= shunXuList->length; i++){ if (number == shunXuList->data[i-1]){ DeletePositionList(shunXuList,i); i--; } }
PrintList(shunXuList);
}
voidAddList(ShunXuList *shunXuList) { printf("请输入需要插入的数(-32768~32767之间):\n"); int num = IsDataNum(); printf("请输入插入的位置(小于等于%d):\n",shunXuList->length); int position = IsLengthNum(shunXuList); for(int i = shunXuList->length; i >= position; i--){ shunXuList->data[i] = shunXuList->data[i-1]; }
shunXuList->data[position-1] = num;
shunXuList->length++;
PrintList(shunXuList); }
voidDeletePositionList(ShunXuList *shunXuList,int position) { shunXuList->length--; for(int i = position; i <= shunXuList->length; i++){ shunXuList->data[i-1] = shunXuList->data[i]; }