zoukankan      html  css  js  c++  java
  • C语言-数据结构(一)

    1.动态创建多维数组

    int ** createArray(int rows, int cols) {
        int **x, i;
        x = (int **)malloc(rows * sizeof(*x));
        for (i = 0; i < rows; i++) {
            x[i] = (int *)malloc(cols * sizeof(**x))
        }
        return x;
    }

    1.线性表

      特点: 1)存在唯一的一个被称为第一个的数据元素 2)存在唯一的一个被称为最后一个的数据元素 3)除第一个外, 集合中的每个数据元素均只有一个前驱 4)出最后一个外, 集合中的每个数据元素只有一个后继

      表示方法: 1)顺序表示 2)链式表示

    1.冒泡排序

    void sort(int list[], int n) {
         int i, j, temp;
         for (i = 0; i < n - 1; i++) {
             for (j = i; j < n; j++) {
                 if (list[i] < list[j]) {
                     temp = list[i];
                     list[i] = list[j];
                     list[j] = temp;
                 }
             }
         }
     }

    2.二分查找

    int binsearch(int *list, int search, int num) {
        int middle;
        int left = 0;
        int right = num - 1;
    
        while (left <= right) {
            middle = (left + right) / 2;
            if (list[middle] > search) {
                right = middle - 1;
            } else if (list[middle] == search) {
                return middle;
            } else {
                left = middle + 1;
            }
        }
    
        return -1;
    }

    递归版本

    int binsearch(int *list, int search, int left, int right) {
        int middle;
        if (left <= right) {
            middle = (left + right) / 2;
            if (list[middle] > search) {
                return binsearch(list, search, left, middle - 1);
            } else if (list[middle] == search) {
                return middle;
            } else {
                return binsearch(list, search, middle + 1, right);
            }
        }
        return -1;
    }

    3.

  • 相关阅读:
    用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建一:建立MAVEN Web项目
    jvm学习笔记二(减少GC开销的建议)
    jvm学习笔记一(垃圾回收算法)
    【转】 StringUtils中 isNotEmpty 和isNotBlank的区别
    单例模式
    工厂模式
    个人项目作业
    第一次作业-热身!
    第四单元总结
    第三单元总结
  • 原文地址:https://www.cnblogs.com/JohnABC/p/4647806.html
Copyright © 2011-2022 走看看