//计数排序voidCountSort(int* arr,int sz){int max = arr[0], min = arr[0];//默认为首元素//找最大、最小数for(int i =0; i < sz; i++){if(arr[i]> max){max = arr[i];}if(arr[i]< min){min = arr[i];}}//计数int range = max - min +1;//count数组大小//calloc申请内存会自动将所有元素默认设置为0int* count =(int*)calloc(range,sizeof(int));if(count ==NULL){perror("malloc fail!\n");exit(1);}for(int i =0; i < sz; i++){count[arr[i]-min]++;//对应的count数组元素++}//排序int index =0;//arr数组下标//遍历count数组,找对应元素出现的次数for(int i =0; i < range; i++){//将count数组对应元素放入arr数组while(count[i]--){arr[index++]= i + min;}}//释放内存free(count);count =NULL;}
vue2 VS vue3 对比vue2vue3配置脚手架cmd命令行可视化方式创建脚⼿架组件通信props、$emit、provide、$arrts、EventBus等props、$emit、provide、inject、arrts等数据监听watch,computedwatch,watchEffect,computed双向绑定Object.definePropertyProxyAPI⽣命周期四个阶段befo…