- 博客(4)
- 收藏
- 关注
原创 力扣链表题 持续更新
1、一个排序的链表中,存在重复结点,请删除链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。(蔚来笔试编程题)下面展示一些 内联代码片。struct ListNode{ int val; struct ListNode *next;};ListNode* deleteDuplication(ListNode* pHead){ //考虑传入为空链表 if(pHead
2021-08-29 11:52:28
121
原创 计数排序C++(考虑周全版本)
**计数排序**注:经测试代码有效#include <iostream>#include <stdlib.h>using namespace std;int sort_num(int *nums, int len, int m_nums){ int arr[12]; int *count = (int *)malloc(sizeof(int)*(m_nums)); memset(count, 0, sizeof(count)*m_nums); for (i
2021-08-10 23:50:06
112
原创 计数排序 C++
计数排序适用的应用场景:量大但是范围小(全省高考成绩、某大型企业数万名员工年龄的排序)且知道范围(例如成绩满分和零分 年龄0岁到150岁)方法:1、创建另外一个数组用于*计数***,数组的大小则为数值范围加1 (0~100)则数组长度为100-0+1 = 101;因为我们要用数组的索引值(下标)作为每一个数值所对应的“家”**斜体样式 正好从0开始到100;2、接着我们遍历原数组,每次读到与计数数组的下标值一样的数值时,则对计数数组改下标所对应的数组值加1(count[ nums[0] ]+
2021-08-08 23:59:22
594
原创 快速排序 vs 冒泡排序
快速排序 vs 冒泡排序以升序排列为例:将第一个元素和第二个元素比较,若前者大于后者,则交换两者的位置,再将第二个元素与第三个元素比较,若前者大于后者则交换两者位置,以此类推直到倒数第二个元素与最后一个元素比较,若前者大于后者,则交换两者位置。这样一轮比较下来将会把序列中最大的元素移至序列末尾,这样就安排好了最大数的位置,接下来只需对剩下的(n-1)个元素,重复上述操作即可。// 两个for循环 + 数据交换函数形参必须包括数组名或指向数组第一个元素的指针 以及 **数组长度**(数组长度不可在函数
2021-07-04 17:28:23
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人