题目:从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值,空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。
#include#define MaxSize 10 //定义线性表的最大长度 typedef int ElemType;//定义数据类型 //顺序表的类型定义,顺序表是Sqlist,顺序表的名称:L typedef struct { ElemType data[MaxSize];//顺序表的元素 int length;//顺序表的当前长度 }SqList; //定义删除最小值函数 void Del_Min(SqList L, ElemType value) { //value是被删除的值 if (L.length==0) { printf("信息错误n"); value = 0; } value = L.data[0]; int pos = 0; for (int i = 1; i < L.length; i++) { if (L.data[i] 搜到的C语言版本的代码里,大家都选择了定义bool型的函数,返回值是true或者是false,但是C语言只有在c99以后,并且加#include
这一头文件后,才可以使用bool型。 在其他人的代码里,还使用了&——引用。
其中的&表示引用,而不是取地址。引用是C++对C的一个重要补充。变量的引用就是变量的别名,讲的通俗一点就是另外一个名字。两者同时指向同一地址,一个数值变量,另一数值也会改变。同样可以理解如果变量b是变量a的引用 那么无论a,b中任何一个值改变,另外一个也相应的改变,在声明一个引用时,必须同时使之初始化,即声明它代表哪一个变量。请注意:由于引用不是独立的变量,编译系统不给它单独分配存储单元,因此在建立引用时只有声明没有定义,只是声明它与原有的某一变量的关系。在声明一个变量的引用后,在本函数执行期间,该引用一直与其代表的变量相联系,不能再作为其他变量的别名。
但是,可惜的是:纯C语言里,没有引用,这种情况可以使用指针来代替引用。我还不想使用指针变量,所以,这次编写的很失败。



