21xrx.com
2024-06-03 07:12:38 Monday
登录
文章检索 我的文章 写文章
C++程序示例
2023-07-06 20:13:40 深夜i     --     --
C++编程 编程示例 程序开发 C++语言 代码实现

C++是一门背景庞大的编程语言,在不同的领域中用到的程序设计技术也是非常多样化的。本文将介绍一些C++程序设计的示例代码,供有兴趣的读者学习参考。

第一类示例:排序算法

排序算法是数据结构中非常重要的一部分,C++中实现各种排序算法是很容易的。以下是一些常见的排序算法的示例代码:

- 冒泡排序:将相邻的元素进行比较和交换,最终将最大的元素冒泡到序列的最后面。


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])

        swap(arr[j], arr[j+1]);

}

- 快速排序:从数据集中挑选一个元素作为“基准点”,按照基准点将数据集分为左右两个部分,递归地对左右两部分进行排序。


int partition(int arr[], int low, int high) {

  int pivot = arr[high]; // 基准点

  int i = (low - 1);

  for (int j = low; j <= high- 1; j++) {

    if (arr[j] < pivot) {

      i++;

      swap(arr[i], arr[j]);

    }

  }

  swap(arr[i + 1], arr[high]);

  return (i + 1);

}

void quickSort(int arr[], int low, int high) {

  if (low < high) {

    int pi = partition(arr, low, high);

    quickSort(arr, low, pi - 1);

    quickSort(arr, pi + 1, high);

  }

}

第二类示例:图形界面程序

C++语言本身并不提供GUI(图形用户界面)编程的相关库,但可以使用其他第三方库来实现。比如,使用Qt库进行GUI编程是非常常见的。以下是一个使用QT库的简单窗口的示例代码:


#include <QtWidgets/QApplication>

#include <QtWidgets/QPushButton>

#include <QtWidgets/QLabel>

#include <QHBoxLayout>

#include <QVBoxLayout>

int main(int argc, char** argv) {

  QApplication app(argc, argv);

  QWidget window;

  window.setWindowTitle("Hello, World!");

  QLabel* label = new QLabel("This is a label.");

  QPushButton* button = new QPushButton("Click me!");

  QHBoxLayout* layout = new QHBoxLayout;

  layout->addWidget(label);

  layout->addWidget(button);

  QVBoxLayout* mainLayout = new QVBoxLayout;

  mainLayout->addLayout(layout);

  window.setLayout(mainLayout);

  window.show();

  return app.exec();

}

此程序创建了一个窗口,包含一个标签和一个按钮。用户可以点击按钮,触发事件。

第三类示例:递归程序设计

递归程序设计是C++函数中常用的技术之一。使用递归技术可以让函数的实现更为简洁、清晰。以下是一个递归程序的示例:

递归阶乘函数:


int factorial(int n) {

  if (n == 1 || n == 0)

    return 1;

   else {

    return n * factorial(n-1);

  }

}

以上是3个C++程序设计的示例代码,它们分别展示了排序算法、图形界面程序和递归程序设计的基础实现。有了这些示例代码,读者可以进一步深入学习和掌握C++的编程技巧。

  
  

评论区

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