21xrx.com
2025-03-27 23:24:52 Thursday
文章检索 我的文章 写文章
"C++精选好代码分享"
2023-06-25 03:48:49 深夜i     6     0
C++ 好代码 分享

C++是一门广泛使用的高级编程语言,它以其高效的性能、良好的移植性和丰富的指针操作等特性而备受程序员们的青睐。为了帮助程序员更好地应用C++语言,我们精选了一些优秀的C++代码,并进行了分享。

第一篇精选好代码:链表遍历

链表是C++中常用的数据结构之一,而链表的遍历也是C++程序员常见的技术挑战。下面的代码展示了如何有效地遍历链表:

struct ListNode {
  int val;
  ListNode *next;
  ListNode(int x) : val(x), next(NULL) {}
};
void traverseList(ListNode* head) {
  ListNode* curr = head;
  while (curr != NULL)
    cout << curr->val << " ";
    curr = curr->next;
  
}

通过这段代码,我们可以看到,遍历链表需要设置一个指针指向当前节点,通过循环不断移动指针,直到指向空节点。

第二篇精选好代码:二分查找

二分查找是一种常见的算法,它可以快速地查找到一个有序数组中的指定元素。下面的代码展示了如何使用C++实现二分查找:

int binarySearch(vector<int>& nums, int target) {
  int left = 0, right = nums.size() - 1;
  while (left <= right) {
    int mid = left + (right - left) / 2;
    if (nums[mid] == target) return mid;
    else if (nums[mid] < target) left = mid + 1;
    else right = mid - 1;
  }
  return -1;
}

这段代码的关键在于平衡查找区间的上下界,并通过中间值进行比较,最终得出查找结果。

第三篇精选好代码:快速排序

快速排序是一种高效的排序算法,它采用分而治之的策略,通过递归将数组不断切割成小块,并通过比较来进行排序。下面的代码展示了如何使用C++实现快速排序:

void quickSort(vector<int>& nums, int left, int right) {
  if (left >= right) return;
  int i = left, j = right, pivot = nums[left + (right - left) / 2];
  while (i <= j) {
    while (nums[i] < pivot) i++;
    while (nums[j] > pivot) j--;
    if (i <= j) {
      swap(nums[i], nums[j]);
      i++;
      j--;
    }
  }
  quickSort(nums, left, j);
  quickSort(nums, i, right);
}

这段代码的关键在于选择数组中间值作为基准值,并通过索引进行不断的交换,最终完成数组的排序。

以上就是我们的C++精选好代码分享,希望对大家有所帮助。无论是遍历链表、二分查找还是快速排序,这些代码都可以让你更好地掌握C++语言,并扩展你的编程技能。

  
  

评论区

请求出错了