中国易修网>维修资讯>

c语言经典代码100

c语言经典代码100

浏览次数:1972次    时间:2024-08-25
  • 资讯详情
  • C语言经典代码100是一本经典的C语言编程书籍,该书汇集了一百个经典的C语言代码,涵盖了各种编程领域,包括数据结构、算法、图形学、游戏开发等等。

    以下是本人挑选出的几个经典代码:

    1. 快速排序算法

    快速排序是常见的排序算法,它的时间复杂度为O(nlogn)。它的代码如下:

    ```

    void quick_sort(int arr[], int left, int right) {

    int i, j, pivot;

    if(left < right) {

    i = left;

    j = right + 1;

    pivot = arr[left];

    do {

    do i++; while(arr[i] < pivot);

    do j--; while(arr[j] > pivot);

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

    } while(i < j);

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

    quick_sort(arr, left, j - 1);

    quick_sort(arr, j + 1, right);

    }

    }

    ```

    2. Dijkstra算法

    Dijkstra算法是一种求解最短路径的算法,它的时间复杂度为O(n^2)。它的代码如下:

    ```

    void Dijkstra(int n, int start, int* dist, int* prev, int** matrix) {

    bool* visited = new bool[n];

    for(int i = 0; i < n; i++) {

    dist[i] = matrix[start][i];

    visited[i] = false;

    if(dist[i] == INF) prev[i] = -1;

    else prev[i] = start;

    }

    dist[start] = 0;

    visited[start] = true;

    for(int i = 1; i < n; i++) {

    int min = INF;

    int u = start;

    for(int j = 0; j < n; j++) {

    if(!visited[j] && dist[j] < min) {

    min = dist[j];

    u = j;

    }

    }

    visited[u] = true;

    for(int j = 0; j < n; j++) {

    if(!visited[j] && matrix[u][j] < INF) {

    int newdist = dist[u] + matrix[u][j];

    if(newdist < dist[j]) {

    dist[j] = newdist;

    http://jsq.easiu.com/common/images/4kCbme4b2n_4.jpg

    prev[j] = u;

    }

    }

    }

    }

    delete[] visited;

    }

    ```

    3. Bresenham算法

    Bresenham算法是一种绘制直线的算法,它的时间复杂度非常低,只需要进行加减法和位运算,因此非常适合在嵌入式系统和计算机游戏中使用。它的代码如下:

    ```

    void Bresenham(int x1, int y1, int x2, int y2) {

    int dx = abs(x2 - x1);

    int dy = abs(y2 - y1);

    int sx = (x1 < x2) ? 1 : -1;

    int sy = (y1 < y2) ? 1 : -1;

    int err = dx - dy;

    while(x1 != x2 || y1 != y2) {

    http://jsq.easiu.com/common/images/14391648304999952.jpg

    set_pixel(x1, y1);

    int e2 = 2 * err;

    if(e2 > -dy) {

    err -= dy;

    x1 += sx;

    }

    if(e2 < dx) {

    err += dx;

    y1 += sy;

    }

    }

    }

    ```

    以上是我挑选出的三个经典代码,它们分别代表了排序算法、图论算法和图形学算法的经典之作。在学习C语言编程时,我们可以通过学习这些经典代码来提高自己的编程能力和编程思维。

  • 热门资讯
  • 售后维修电话查询
  • 华为南昌售后服务

    华为南昌售后服务

    203h电路图

    203h电路图

    海尔l32r3开关

    海尔l32r3开关

    松下洗衣机拆卸视频

    松下洗衣机拆卸视频

    松下TH-L32C8C不能接盒子

    松下TH-L32C8C不能接盒子

    怎样才知道空调可不可以制热

    怎样才知道空调可不可以制热

    tcl l32f11不开机

    tcl l32f11不开机

    三星电视设置方法

    三星电视设置方法

    济南市乐视手机维修点

    济南市乐视手机维修点

    惠而浦热水器故障代码

    惠而浦热水器故障代码

  • 其它资讯相关文章
  • 比利奇热水器官网

    比利奇热水器官网

    htc西安售后

    htc西安售后

    北京oppo售后地址查询

    北京oppo售后地址查询

    长虹3d42a3700idy板

    长虹3d42a3700idy板

    长虹pf29300场压缩

    长虹pf29300场压缩

    tcl液晶电视颜色变了

    tcl液晶电视颜色变了

    长虹chd29600不开机

    长虹chd29600不开机

    tcl液晶电视电源

    tcl液晶电视电源

    37pf7321自动开关机

    37pf7321自动开关机

    杭州史密斯热水器

    杭州史密斯热水器

  • 其它资讯相关问题
  • 美的天花空调故障e8    未回答
  • 创维25t88ht不开机    未回答
  • 海尔电视背光不亮    未回答
  • 康佳现代电视官网    未回答
  • 芯片p301-16电路    未回答
  • 电视机高压包内部    未回答
  • 美的电饭煲昌平维修点    未回答
  • 松下空调售后官网    未回答
  • 三星空调制冷效果不好    未回答
  • 南京笔记本电脑    未回答
  • 电磁炉用灯泡代保险丝    未回答
  • 电源开关机会响一声    未回答
  • 松下摄像机开机黑屏    未回答
  • 电视机组装流程    未回答
  • 创维电视怎样升级    未回答
  • COS一62O示波器电路图    未回答
  • xqb70洗衣机拆解    未回答
  • 06-7版苏泊尔电磁炉维修手册    未回答
  • 关于空调费电吗    未回答
  • 海信变频空调调试    未回答
  • 其它资讯相关维信息修
  • 长虹c2588d图纸
  • 康佳电视机黄灯开不了
  • 长虹lt4028故障
  • 电冰箱冬天不制冷
  • 主板cpu供电电路
  • 等离子工作原理
  • 海尔29f9g-pn电路图
  • 创维32t88hs 黑屏
  • 手机扬声器工作原理
  • 海尔dps 165gp背光通病
  • 工贸家电 易修
  • 海尔空调 温度调节
  • 澳柯玛燃气灶售后问题
  • 海信kfr32g
  • 海信电视32K360开关在哪
  • 西门子电热器售后服务
  • 邵阳美的风扇家电维修
  • 石家庄格力空调场
  • 空调电机接实物图
  • 格力中央空调哪里制照
  • 简易电磁炉 电路图
  • 美的洗衣机e7故障
  • 相关资讯
  • 重庆金羚洗衣机维修
  • 三星s4容易碎屏
  • 长虹 lt32719a usb
  • tda7495ssa各脚电压
  • 洗衣机皮带轮拆卸
  • 荣事达小家电 维修
  • 格力中央空调面板显示e2
  • 郑州格力生活电器售后
  • 洗衣机洗衣服甩干 漏水
  • 海信bcd-137ce
  • 免责声明: 维修资讯栏目部分文章来自互联网(全部或部分摘录),如果版权所有人不同意我们转载,请通过书面告知,我们将在第一时间删除。文章内容不代表中国易修网观点,仅供参考,请谨慎使用。中国易修网对您使用的后果概不负责。您可以转载或引用本站的资讯栏目内容,请注名文章出处,但不得用以任何商业用途。