国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言線性表順序存儲結構實例詳解

2020-01-26 14:03:15
字體:
來源:轉載
供稿:網友

C語言線性表順序存儲結構實例詳解

1、 什么是順序存儲結構?

用一段地址連續的存儲單元依次存儲線性表的數據元素。

2、線性表的順序存儲結構

#include<stdio.h>#include<stdlib.h>#define Max 80 //存儲空間初始分配量 #define Increment 10  //存儲空間分配增量typedef struct{  int *elem;  // 存儲空間基地址,此處為int型,視情況而定   int length;  // 元素表當前長度   int size;  //當親分配的存儲容量 }SqList; 

3、順序表的初始化操作是為順序表分配一個預定大小的數組空間,并將順序表的長度設為0。

<一>int InitList(SqList &L){  L.elem=(int *)malloc(Max*sizeof(int));  if(!L.elem)    return;//exit(0); //存儲分配失敗  L.length=0;  //空表長度為0  L.size=Max;  //初始存儲容量  return Ok;} <二>int CreatList(SqList &L){  L.elem=(int *)malloc(Max*sizeof(int));  if(!L.emle)    return;//exit(0);  L.length=0;  L.size=Max;  printf("請輸入表的長度:");  scanf("%d",&L.length);  printf("請輸入%d個數:",L.length);  for(i=0;i<L.length;i++)  scanf("%d",&L.elem[i]);}

4.獲取元素操作:將線性表中的第i個位置元素值位置返回

int GetElem(SqList &L,int i,int e) {  // 1 <= i <= L.length   if( i <1 || i > L.length)    return ERROR;  *e=L.elem[i-1];  return Ok;}

5線性表的插入操作

“ int Insert(SqList &L) { int *_new; int i; int e; printf(“輸入要插入的位置及其元素:”); scanf(“%d %d”,&i,&e); if(i<1||i>L.length) { printf(“插入的位置不合法!”); return ERROR; } if(L.length>=L.size) //當前空間已滿,增加分配 { _new=(int)malloc(L.elem,(L.length+Increment)*sizeof(int)); if(!_new) //存儲分配失敗 return; //exit(0); L.elem=_new; //新基址 L.size=L.size+Increment; //增加存儲容量 } q=&(L.elem[i-1]); //q為插入的位置 for(p=&(L.elem(L.length-1));p>=q;

主站蜘蛛池模板:
平江县|
淮北市|
朝阳市|
博罗县|
油尖旺区|
迁西县|
平昌县|
板桥市|
五家渠市|
常州市|
紫阳县|
迁安市|
西畴县|
合作市|
鄂州市|
集贤县|
洛隆县|
南靖县|
玉山县|
喜德县|
香河县|
山西省|
延川县|
青神县|
仙桃市|
含山县|
青铜峡市|
廉江市|
陈巴尔虎旗|
留坝县|
大化|
平利县|
麻栗坡县|
延安市|
水城县|
浏阳市|
迁西县|
新龙县|
柳河县|
钟山县|
克山县|