21xrx.com
2024-11-25 03:09:59 Monday
登录
文章检索 我的文章 写文章
"C++精选好代码分享"
2023-06-29 12:47:42 深夜i     --     --
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++语言,并扩展你的编程技能。

  
  
下一篇: C++调试工具

评论区

{{item['qq_nickname']}}
()
回复
回复