数据结构 线性表
来源:互联网 发布:软件开发专业技能 编辑:程序博客网 时间:2024/05/16 06:48
//线性表存储结构 CHX 2012-10-15#include<stdio.h>#include<string.h>#include<stdlib.h>#include<time.h>typedef int ElemType;typedef struct { ElemType * elem; int len;//当前长度 int listsize;//顺序表容量(sizeof类型)}sqlist;int Init_Sq(sqlist * L,int n)//初始化,构造一个空的线性表{L->elem = (ElemType *)malloc(sizeof(ElemType)*n);//注意此处是ElemType!!if(L->elem == NULL){printf("数据空间分配失败!\n");return 0;}L->len = 0;L->listsize = n;return 1;}bool Empty_Sq(sqlist L){if(L.len == 0)return true;elsereturn false;}bool Full_Sq(sqlist L){if(L.len == L.listsize)return true;elsereturn false;}void Destroy_Sq(sqlist *L){free(L->elem);L->elem = NULL;L->listsize=0;L->len = 0;}void Clear_Sq(sqlist *L){L->len = 0;}void Traverse_Sq(sqlist *L){ int i; for(i=0;i < L->len;i++) printf("%d\n",L->elem[i]);//注意L->elem的含义。相当于数据A[n]中的A?? printf("\n");}int Insert_Sq(sqlist *L,int i,int e)//在队列中的第i个位置之前插入新的元素e{int j;if(Full_Sq( *L)) { printf("空间已满\n"); return 0; };if(i > L->len||i < 1){ printf("要插出入的位置不对!\n"); return 0; }for(j=L->len;j>=i;j--) L->elem[j]=L->elem[j-1]; L->elem[i-1]=e;L->len++;return 1;}int Del_Sq(sqlist *L,int i){int j;if(Empty_Sq( *L)) { printf("空间已空\n"); return 0; }if(i > L->len||i < 1){ printf("要删除的位置不对!\n"); return 0; }for(j=i-1;j<L->len;j++) L->elem[j] = L->elem[j+1];L->len--;return 1;}void Sort_Sq(sqlist *L,int n){ int i,j,min,t; for(i = 0;i<n;i++) for(j = i;j<n;j++) { if( L->elem[j] <= L->elem[i]) { t = L->elem[j]; L->elem[j] =L->elem[i]; L->elem[i] = t; } }}int main(void){ srand( (unsigned)time( NULL ) ); //初始化随机数sqlist pa;int i;Init_Sq( &pa, 8);pa.len = 6; for(i=0;i<6;i++) { pa.elem[i]=( rand()%10 + 1);//产生随机数 }Traverse_Sq(&pa);Insert_Sq(&pa,3,20);Traverse_Sq(&pa);Del_Sq(&pa,4);Traverse_Sq(&pa);Sort_Sq(&pa,6);Traverse_Sq(&pa);return 0;}
- 数据结构拾遗---线性表
- 整理--数据结构--线性表
- 数据结构(线性表)
- 整理--数据结构--线性表
- 数据结构--顺序线性表
- 数据结构之线性表
- 数据结构-线性链表
- 数据结构-线性表
- 复习 [数据结构] ---- 线性表
- 数据结构---线性表
- 数据结构复习-线性表
- 数据结构之线性表
- 数据结构之线性表
- 线性链表---数据结构
- 数据结构—线性表
- 数据结构 线性表
- 数据结构----线性表
- 数据结构之线性表
- 【Web缓存机制概述】5 – Web App时代的缓存机制新思路 & 全文总结
- 查询Oracle正在执行和执行过的SQL语句
- WinCC flexible 2008 SP4 奇怪现象1
- 给数据减肥 让MySQL数据库跑的更快
- 有用的命令
- 数据结构 线性表
- 《UNIX环境高级编程》——读书笔记3, 4
- C++ vector容器简单解释
- 常用正则表达式推荐
- 《UNIX环境高级编程》——读书笔记5, 6
- openstack 镜像制作
- $monitor(...)//$display(...)
- 为什么竞价广告的计费价格是竞价排名第2的价格而非竞价排名第1的价格呢?
- android编译全过程