#include<iostream> //学习初期 理解难点在于传参是按值传 还是按引用传参 #include<stdlib.h> using namespace std; #define MAXSIZE 100 typedef int Elemtype; typedef struct{ Elemtype a[MAXSIZE]; int length; }Sqlist; void initlist(Sqlist *L) //初始化顺序表方法1 附对应初始化操作 { L->length=0; } // Sqlist SI; // initlist(&SI); void initlist(Sqlist &L) ////初始化顺序表方法2 附对应初始化操作 { L.length=0; } // Sqlist SI; // initlist(SI); void creat_sqlist(Sqlist &L) //创建顺序表 引用传参 '&' { int i,n; cout<<"n=?"; cin>>n; L.length=n; for(i=0;i<n;i++) cin>>L.a[i]; } void outputl(Sqlist L) //输出顺序表 使用按值传参 定义一个结构体L 复制传入顺序表的值进行输出操作,避免对源数据的更改 { int i; cout<<"List length "<<L.length<<endl; for(i=0;i<L.length;i++) { cout<<L.a[i]<<" "; if((i+1)%10==0) cout<<endl; } cout<<endl; } void insert_sq(Sqlist &L,int i,Elemtype e) //元素插入顺序表 插入后的元素一次向后移动 O(n) { int j; if(L.length==MAXSIZE) cout<<"ERROR!"<<endl; else { if(i<1||i>L.length) cout<<"ERROR!"<<endl; else { for(j=L.length;j>i-1;j--) L.a[j]=L.a[j-1]; L.a[i-1]=e; L.length++; } } } Elemtype delete_sq(Sqlist &L,int i) //顺序表删除元素 删除后的元素需要向前一次移动 O(n) { int x,j; if(L.length==0) { cout<<"ERROR!"<<endl; return (-1); } else if(i<1||i>L.length) { cout<<"ERROR!"<<endl; return (-1); } else { x=L.a[i-1]; for(j=i;j<L.length-1;j++) { L.a[j-1]=L.a[j]; } L.length--; return x; } } int locate_sq(Sqlist L,Elemtype e) //定位某个数据所在顺序表中的位置 { int i; i=0; while(i<=L.length-1&&L.a[i]!=e) i++; if(i<=L.length-1) return (i+1); return (-1); } void merge_list(Sqlist a,Sqlist b,Sqlist &c) //合并顺序表(大小递增) 第三个必须使用引用传参 需要改变顺序表c的值 { int i,j,k; i=j=k=0; c.length=a.length+b.length; while(i<=a.length-1 && j<=b.length-1) { if(a.a[i]<=b.a[j]) { c.a[k]=a.a[i]; i++; k++; } else { c.a[k]=b.a[j]; j++; k++; } } while(i<=a.length-1) { c.a[k]=a.a[i]; i++; k++; } while(j<=b.length-1) { c.a[k]=b.a[j]; j++; k++; } } int main() //主函数 { return 0; }
0.0分
7 人评分
大神老白 (C语言代码)浏览:691 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:710 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:268 |
小九九 (C语言描述,不看要求真坑爹)浏览:1006 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:742 |
C二级辅导-等差数列 (C语言代码)浏览:806 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:569 |
数列排序 (C语言代码)浏览:674 |
筛排处理 (C语言代码)浏览:830 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:710 |