当前位置: 首页 > news >正文

雷州网站地方门户系统 哪家好

雷州网站,地方门户系统 哪家好,惠阳惠州网站建设,小学文化学网站开发以下是C的一些经典算法#xff1a; 一、排序算法 冒泡排序#xff08;Bubble Sort#xff09; 原理#xff1a; 它重复地走访过要排序的数列#xff0c;一次比较两个元素#xff0c;如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换…以下是C的一些经典算法 一、排序算法 冒泡排序Bubble Sort 原理 它重复地走访过要排序的数列一次比较两个元素如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换也就是说该数列已经排序完成。 示例代码 #include iostream void bubbleSort(int arr[], int n) {for (int i 0; i n - 1; i) {for (int j 0; j n - i - 1; j) {if (arr[j] arr[j 1]) {int temp arr[j];arr[j] arr[j 1];arr[j 1] temp;}}} } int main() {int arr[] {5, 4, 3, 2, 1};int n sizeof(arr)/sizeof(arr[0]);bubbleSort(arr, n);for (int i 0; i n; i) {std::cout arr[i] ;}return 0; }快速排序Quick Sort 原理 它采用了分治的策略。首先选择一个基准元素通常是数组的第一个元素。然后将数组分为两部分小于基准的元素放在左边大于基准的元素放在右边。接着对左右两部分分别进行快速排序直到整个数组有序。 示例代码 #include iostream int partition(int arr[], int low, int high) {int pivot arr[low];int i low - 1, j high 1;while (true) {do {i;} while (arr[i] pivot);do {j--;} while (arr[j] pivot);if (i j) return j;int temp arr[i];arr[i] arr[j];arr[j] temp;} } void quickSort(int arr[], int low, int high) {if (low high) {int pi partition(arr[], low, high);quickSort(arr, low, pi);quickSort(arr, pi 1, high);} } int main() {int arr[] {5, 4, 3, 2, 1};int n sizeof(arr)/sizeof(arr[0]);quickSort(arr, 0, n - 1);for (int i 0; i n; i) {std::cout arr[i] ;}return 0; }归并排序Merge Sort 原理 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法Divide and Conquer的一个非常典型的应用。它将一个数组分成两个子数组对每个子数组进行排序然后将排序好的子数组合并成一个最终的排序数组。 示例代码 #include iostream void merge(int arr[], int l, int m, int r) {int n1 m - l 1;int n2 r - m;int L[n1], R[n2];for (int i 0; i n1; i)L[i] arr[l i];for (int j 0; j n2; j)R[j] arr[m 1 j];int i 0, j 0, k l;while (i n1 j n2) {if (L[i] R[j]) {arr[k] L[i];i;} else {arr[k] R[j];j;}k;}while (i n1) {arr[k] L[i];i;k;}while (j n2) {arr[k] R[j];j;k;} } void mergeSort(int arr[], int l, int r) {if (l r) {int m l(r - l)/2;mergeSort(arr, l, m);mergeSort(arr, m 1, r);merge(arr, l, m, r);} } int main() {int arr[] {5, 4, 3, 2, 1};int n sizeof(arr)/sizeof(arr[0]);mergeSort(arr, 0, n - 1);for (int i 0; i n; i) {std::cout arr[i] ;}return 0; }二、搜索算法 线性搜索Linear Search 原理 线性搜索是一种简单的搜索算法它从数组的第一个元素开始逐个检查每个元素直到找到目标元素或者遍历完整个数组。 示例代码 #include iostream int linearSearch(int arr[], int n, int key) {for (int i 0; i n; i) {if (arr[i] key)return i;}return -1; } int main() {int arr[] {1, 3, 5, 7, 9};int n sizeof(arr)/sizeof(arr[0]);int key 5;int result linearSearch(arr, n, key);if (result -1)std::cout 元素未找到;elsestd::cout 元素在索引 result 处找到;return 0; }二分搜索Binary Search 原理 二分搜索要求数组是有序的。它首先比较目标元素和数组中间元素的大小。如果目标元素等于中间元素则返回中间元素的索引。如果目标元素小于中间元素则在数组的左半部分继续搜索如果目标元素大于中间元素则在数组的右半部分继续搜索。这个过程不断重复直到找到目标元素或者确定目标元素不存在。 示例代码 #include iostream int binarySearch(int arr[], int l, int r, int key) {while (l r) {int mid l(r - l)/2;if (arr[mid] key)return mid;else if (arr[mid] key)l mid 1;elser mid - 1;}return -1; } int main() {int arr[] {1, 3, 5, 7, 9};int n sizeof(arr)/sizeof(arr[0]);int key 5;int result binarySearch(arr, 0, n - 1, key);if (result -1)std::cout 元素未找到;elsestd::cout 元素在索引 result 处找到;return 0; }三、图算法 广度优先搜索Breadth - First SearchBFS 原理 广度优先搜索是一种用于遍历或搜索图或树的算法。它从给定的起始顶点开始首先访问起始顶点的所有邻接顶点然后再访问这些邻接顶点的邻接顶点以此类推直到遍历完整个图或者找到目标顶点。通常使用队列来实现。 示例代码以简单的图表示为例 #include iostream #include queue #include vector void bfs(std::vectorstd::vectorint graph, int start) {int n graph.size();std::vectorbool visited(n, false);std::queueint q;visited[start] true;q.push(start);while (!q.empty()) {int vertex q.front();q.pop();std::cout vertex ;for (int neighbor : graph[vertex]) {if (!visited[neighbor]) {visited[neighbor] true;q.push(neighbor);}}} } int main() {std::vectorstd::vectorint graph {{1, 2},{0, 3, 4},{0, 4},{1},{1, 2}};bfs(graph, 0);return 0; }编程是一场与自我之间的战斗也是一场与世界之间的战斗。
http://www.eeditor.cn/news/121507/

相关文章:

  • 济南建设网站的公司蓬莱市住房和规划建设管理局网站
  • 购买的网站怎么看网站空间大小wordpress cookies
  • 关于com的网站外贸网站首页
  • 厦门建设与管理局网站wordpress不用缓存
  • 代做土木毕业设计网站网站加产品分类
  • 网站开发课程学习仓储设备东莞网站建设
  • 开发公司工程部经理述职报告做网站优化的话术
  • 房地产电商网站建设上海自贸区注册公司
  • 邯郸公司做网站如何创建wordpress数据库
  • 相亲网站什么叫网落营销
  • 用vps建网站备案长沙企业网站seo
  • 河南联通 网站备案商标设计怎么收费
  • 王建设个人网站数字营销是什么专业
  • 网站访问量统计工具做交通锁具网站碟刹锁
  • 请上传网站应用水印图片光伏电站建设的行业网站
  • 辽阳县住房和城乡建设局网站投资管理公司注册条件和要求
  • wordpress加关键词成都seo整站
  • 做网站的的广告词做影视网站违法不
  • 网站建设公司推荐乐云seowordpress 手机 自适应
  • 园岭中小网站建设株洲企业网站建设工作
  • 网站建设网站建设教程重庆网站开发哪家专业
  • python做电子商务网站建设银行假网站首页
  • 如何手机网站建立北京网站设计建设
  • 免费word文档模板下载网站江安县建设招标网站
  • icp备案网站管理员有负责吗微信自带小程序商城
  • dw做网站一般设为什么样屏蔽蜘蛛网站还会被收录吗
  • 北京网站建设曝光尚词网网页设计图片的应用
  • 建筑网站免费嵌入式培训机构哪家好
  • 网站开发术语苏州手机app开发公司
  • 网站的技术解决方案如何建立网址