实验1 顺序表的建立和运算
来源:互联网 发布:手机淘宝不能付款 编辑:程序博客网 时间:2024/06/01 07:34
顺序表的建立与运算
包括最大值,删除,插入,排序。
包括最大值,删除,插入,排序。
#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR -1#define LIST_INIT_SIZE 100#define LISTINCREMENT 10typedef int Status;typedef int ElemType;//创建一个空的顺序表typedef struct {ElemType *elem;int length;int listsize;}Sqlist;//初始化顺序表Status InitList(Sqlist&L){ L.elem=((ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType))); if(!L.elem) return ERROR; L.length=0; L.listsize= LIST_INIT_SIZE; return OK;}//取顺序表中的值Status GetList(Sqlist&L){ int i; printf("\n请输入线性表元素:"); for (i = 0; i <L.length; i++) scanf("%d",&L.elem[i]); printf("\n您输入的元素为:"); for(i=0;i<L.length;i++) { printf("%d ",L.elem[i]); } printf("\n"); return OK;}//查找最大元素Status GetMax(Sqlist&L){ int i; int max=L.elem[0]; printf("\n元素的最大值为:"); for(i=1;i<L.length;i++){ if(max<L.elem[i]){ max=L.elem[i]; } } printf("%d\n",max); return OK;}//在线性表的第m个元素前插入一个正整数xStatus Insert(Sqlist&L,int m,int x){ int n; for(n=L.length-1;n>=m-1;n--) { L.elem[n+1]=L.elem[n]; } L.elem[m-1]=x; L.length++; return OK;}//删除线性表中的第j个元素Status DeleteElem(Sqlist&L,int j){ int n; for(n=j-1;n<L.length;n++) { L.elem[n]=L.elem[n+1]; } L.length--; return OK;}//排序Status Sort(Sqlist&L){ int i; int j; for(i=0;i<L.length-1;i++){ for(j=i+1;j<L.length;j++){ if(L.elem[i]<L.elem[j]){ int t; t=L.elem[i]; L.elem[i]=L.elem[j]; L.elem[j]=t; } } } return OK;}//主函数int main(){ int i,n,x,m,a; Sqlist L; //创建一个线性表 InitList(L); printf("请输入要添加的元素个数:"); scanf("%d",&L.length); GetList(L);//得出最大值 GetMax(L); //插入元素 printf("\n在第m个前面插入元素:"); scanf("%d",&m); printf("\n插入的元素x为:"); scanf("%d",&x);Insert(L,m,x); printf("\n插入后的元素为:"); for(i=0;i<L.length;i++) { printf("%d ",L.elem[i]); } printf("\n"); //删除元素 printf("\n删除的元素是第n个:"); scanf("%d",&n);DeleteElem(L,n); printf("\n删除后的元素是:"); for(i=0;i<L.length;i++) { printf("%d ",L.elem[i]); } printf("\n");//元素排序Sort(L); printf("\n排序后的元素为:"); for(i=0;i<L.length;i++) { printf("%d ",L.elem[i]);}system("pause");}
阅读全文
0 0
- 实验1 顺序表的建立和运算
- 数据结构|顺序表的建立(实验1)
- 实验一:数据结构顺序表的建立
- 第三周项目1、项目2: 顺序表的基本运算、建立“顺序表”算法库
- 实验一顺序表的建立与操作
- 数据结构-顺序表建立及运算
- 顺序表的建立
- 【数据结构实验二】顺序栈的建立、入栈和出栈
- 顺序表的应用--并运算和交运算
- 顺序表的运算
- 实验1 线性表的顺序实现
- 顺序表的建立(顺序存储)
- 数据结构实验之链表一:顺序建立链表
- 数据结构实验之链表一:顺序建立链表
- 数据结构实验之链表一:顺序建立链表
- 数据结构实验之链表一:顺序建立链表
- SDUTOJ 2116 数据结构实验之链表一:顺序建立链表
- 数据结构实验之链表一:顺序建立链表
- C#事件发布者订阅者释放,强引用
- java中length,length(),size()区别
- iframe异步加载技术及性能
- ACE,C++的框架
- python之正则表达式
- 实验1 顺序表的建立和运算
- servlet07-反射基础一
- 2个字符连接起来。用string方法
- ss
- 84. Largest Rectangle in Histogram
- GIF动态图制作
- noHistory的问题
- Struts2之 OGNL表达式和值栈
- LeeCode 515. Find Largest Value in Each Tree Row