• c语言:顺序表传参要是指针类型的才能改变顺序表


    想在头文件中初始化顺序表,在main函数只能传参的时候传的是(sqlList L),调用LocalElem(L,X)是报错说没有给L初始化.

    原因:调用初始化的函数,传过去的参数是sqlList L并不能改变实参,虽有后来改为了sqlList *L,就可以了

    #pragma once
    #define maxSize 100
    typedef struct {
        int data[maxSize];
        int length;
    }sqlList;
    //初始化一个线性表(n:数组的长度)
    void InitList(sqlList *L, int a[], int n) {
        int i;
        L->length = 0;
        for (i = 1;i <= n;i++) {
            L->data[i] = a[i - 1];
            L->length++;
        }
    }
    //返回第一个比x元素大的元素的位置
    int LocateElem(sqlList L,int x) {
        int i;
        for (i = 1;i <= L.length;i++) {
            if (x<L.data[i]) {
                return i;
            }
        }
        return i;
    }
    #include <stdio.h>
    #include "head.h"
    
    int main() {
    	sqlList L;
    	int a[10] = {1,2,3,4,5,6,7,8,9,10};
    	/*for (int i = 1;i <= 10;i++) {
    		L.data[i] = a[i-1];
    	}
    	L.length = 10;*/
    	InitList(&L,a,10);
    	int x = LocateElem(L,5);
    	printf("%d	",x);
    }
    
  • 相关阅读:
    2018.09.25python学习第十天part3
    2018.09.25python学习第十天part2
    2018.09.25python学习第十天part1
    2018.09.21python学习第九天part3
    2018.09.21python学习第九天part2
    2018.09.21python学习第九天part1
    2018.09.20python作业
    Alpha 冲刺(3/10)
    Alpha 冲刺(2/10)
    Alpha 冲刺(1/10)
  • 原文地址:https://www.cnblogs.com/ting1996/p/7452763.html
Copyright © 2020-2023  润新知