数据结构线性表,没啥思路,来个提醒或给个答案呗。abcsde
2条回答 默认 最新
- 社区专家-Monster-XH 2023-03-24 18:44关注
基于Monster 组和GPT的调写:
1int deleteMin(List* list) { if (list == NULL || list->size == 0) { printf("Error: Empty List\n"); exit(1); } int minIndex = 0; int minValue = list->data[0]; for (int i = 1; i < list->size; i++) { if (list->data[i] < minValue) { minIndex = i; minValue = list->data[i]; } } int lastValue = list->data[list->size - 1]; list->data[minIndex] = lastValue; list->size--; return minValue; }
2.
void deleteRange(List* list, int t) { if (list == NULL || list->size == 0) { printf("Error: Empty List\n"); exit(1); } int writeIndex = 0; for (int i = 0; i < list->size; i++) { if (list->data[i] < t) { list->data[writeIndex++] = list->data[i]; } } list->size = writeIndex; }
3.
void deleteSortedRange(List* list, int t) { if (list == NULL || list->size == 0) { printf("Error: Empty List\n"); exit(1); } int writeIndex = 0; for (int i = 0; i < list->size; i++) { if (list->data[i] < t) { list->data[writeIndex++] = list->data[i]; } else { break; } } list->size = writeIndex; }
4.
List* mergeSortedLists(List* list1, List* list2) { if (list1 == NULL || list1->size == 0) { return list2; } else if (list2 == NULL || list2->size == 0) { return list1; } List* mergedList = createList(list1->size + list2->size); int i = 0, j = 0, k = 0; while (i < list1->size && j < list2->size) { if (list1->data[i] < list2->data[j]) { mergedList->data[k++] = list1->data[i++]; } else { mergedList->data[k++] = list2->data[j++]; } } while (i < list1->size) { mergedList->data[k++] = list1->data[i++]; } while (j < list2->size) { mergedList->data[k++] = list2->data[j++]; } mergedList->size = k; return mergedList; }
5.
void removeDuplicates(List* list) { if (list == NULL || list->size == 0) { printf("Error: Empty List\n"); exit(1); } int writeIndex = 0; for (int i = 0; i < list->size; i++) { if (i == 0 || list->data[i] != list->data[i-1]) { list->data[writeIndex++] = list->data[i]; } } list->size = writeIndex; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
- ¥15 gdf格式的脑电数据如何处理matlab
- ¥20 重新写的代码替换了之后运行hbuliderx就这样了
- ¥100 监控抖音用户作品更新可以微信公众号提醒
- ¥15 UE5 如何可以不渲染HDRIBackdrop背景
- ¥70 2048小游戏毕设项目
- ¥20 mysql架构,按照姓名分表
- ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
- ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
- ¥15 linux驱动,linux应用,多线程