数据结构---数组操作练习
来源:互联网 发布:科比总决赛数据 编辑:程序博客网 时间:2024/05/20 13:08
没有学过计算机的数据结构,感觉多少懂点比较好,从基础来,数组操作开始。
#include<stdio.h>#include<stdlib.h>#include<string.h>/*线性表顺序存储操作*/#define MAX 100#define ElemType inttypedef struct{ ElemType elem[MAX]; int length;}SeqList;//初始话一个线性表void InitList_Seq( SeqList *L){ L->length=0;}void CreatList(SeqList *L)//创建一个顺序表{ ElemType x; printf("请输入元素:.\n"); scanf("%d",&x); while(x!=-1)//有的时候可能不会输入完所有的数据,-1作为停止标志位 { L->elem[L->length]=x; L->length++; scanf("%d",&x); }}void ListInsert(SeqList *L,ElemType data,int pos){ int i; if(L->length==MAX)//检查是否满了 { printf("表满了.\n"); } else if(pos>L->length||pos<1) { printf("插入位置错误.\n"); } else { for(i=L->length;i>=pos;i--)//第pos个元素(包括位置pos)后面的都要后移动 { L->elem[i]=L->elem[i-1]; } L->elem[pos-1]=data;//在第pos位置插入 L->length++; }}void ShowList(SeqList *L){ int i=0; for(i=0;i<L->length;i++) { printf("%d ",L->elem[i]); } printf("\n");}void FindList(SeqList *L,ElemType obj)//查找{ int i=0; while(i<L->length&&L->elem[i]!=obj) { i++; } if(i<=L->length) { printf("%d在第%d个位置: .\n",obj,i+1); } else { printf("没找到.\n"); }}void DelList(SeqList *L,int pos)//删除{ if(pos>L->length||pos<1) { printf("输入数据位置错误"); } else { for(;pos<L->length;pos++) { L->elem[pos-1]=L->elem[pos]; } L->length--; }}void AddList(SeqList *obj,SeqList *src)//合并{ int i; if(obj->length+src->length>MAX) { printf("空间不足数据会丢失"); } else { for(i=0;obj->length<MAX&&i<src->length;obj->length++,i++) { obj->elem[obj->length]=src->elem[i]; } }}int main(){ SeqList L,L2; InitList_Seq(&L); CreatList(&L); ShowList(&L); InitList_Seq(&L2); CreatList(&L2); ShowList(&L2); ListInsert(&L,0,5); FindList(&L,5); ShowList(&L); DelList(&L,5); AddList(&L,&L2); ShowList(&L);}
0 0
- 数据结构---数组操作练习
- 数组操作及练习
- 数据结构JAVA --数组操作
- C#中的数组操作练习
- 数组引用做形参练习(数据结构test3)
- 数据结构与算法练习-数组查找,排序
- java数组操作排序小练习
- 蓝桥杯练习-操作格子【树状数组】
- C++程序设计语言练习7.8 二维数组操作
- 数据结构之数组创建及操作
- 数据结构线性数组的基本操作
- C语言------数据结构(栈操作,数组实现)
- 数组操作-浅复制-《数据结构与算法》
- 数据结构(一)---数组的操作
- 数据结构专项练习(数组、链表、二叉树)
- 数据结构练习
- c++练习004之数据结构(顺序表操作)
- 数据结构——练习之学生信息操作
- u盘装win7系统的历程以及辛苦找驱动历程
- Android进阶之AlertDialog自定义
- java DAO示例
- 斐波那契数列
- 多态性
- 数据结构---数组操作练习
- wikioi1450 xth的旅行
- C语言总结 宏
- 【转】一些开发工具包
- PHP 正则表达式
- Serialize/Deserialize Binary Tree
- hdu 2149 巴什博奕
- matlab读取视频VideoReader类
- 【Android自动化打包】01. aapt的用法