C語言順序存儲結構
C語言是一個有結構化程序設計、具有變量作用域以及遞歸功能的過程式語言。下面是小編分享的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)
{
=(int *)malloc(Max*sizeof(int));
if(!)
return;//exit(0); //存儲分配失敗
th=0; //空表長度爲0
=Max; //初始存儲容量
return Ok;
}
<二>int CreatList(SqList &L)
{
=(int *)malloc(Max*sizeof(int));
if(!)
return;//exit(0);
th=0;
=Max;
printf("請輸入表的長度:");
scanf("%d",&th);
printf("請輸入%d個數:",th);
for(i=0;i<th;i++)
scanf("%d",&[i]);
}
4.獲取元素操作:將線性表中的第i個位置元素值位置返回
int GetElem(SqList &L,int i,int e)
{
// 1 <= i <= th
if( i <1 || i > th)
return ERROR;
*e=[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>th)
{
printf(“插入的位置不合法!”);
return ERROR;
}
if(th>=) //當前空間已滿,增加分配
{
_new=(int)malloc(,(th+Increment)*sizeof(int));
if(!_new) //存儲分配失敗
return; //exit(0);
=_new; //新基址
=+Increment; //增加存儲容量
}
q=&([i-1]); //q爲插入的位置
for(p=&((th-1));p>=q;–p) //插入後元素右移
*q=e; //插入e
++th; //長度加一
return OK;
}
6、刪除元素```
int ListDelete(SqList &L,int i,int *e)
{
int k;
if(th==0) //線性表爲空
return ERROR;
if(i<1||i>th) //插入不正確
return ERROR;
*e=[i-1];
if(i<th) //如果插入不是最後的位置
{
for(k=i;k<th;k++)
[k-1]=[k];
}
th--
return OK;
}
相關文章
-
C語言順序結構
引導語:順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。以下是本站小編爲大家帶來的C語言順序結構,幫助大家認識C語言的順序結構,歡迎閱讀學習! 1.1 表達式語 -
C語言順序結構知識歸納
C語言的順序結構裏面有哪些知識需要學習的呢,下面小編爲大家歸納了C語言順序結構知識,歡迎大家閱讀! C語言順序結構知識歸納 一、表達式語句、函數調用語句和空語句1.C語言的語句共分五大類:表達式語句、控制語句 -
C語言順序結構的設計實例
引導語:順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的'執行順序是自上而下,依次執行。以下是本站小編分享給大家的C語言順序結構的設計實例,歡迎參考學習! 順序結構的設計實例 【例1】 -
C語言程序的存儲區域
C語言編寫的程序經過編譯-連接後,將形成一個統一文件,它由幾個部分組成。在程序運行時又會產生其他幾個部分,各個部分代表了不同的存儲區域: 1、代碼段(Code或Text)代碼段由程序中執行的機器代碼組成。在C語言中,程序語 -
C語言變量存儲類別和內存四區
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。下面我們一起來看看C語言變量存儲類別和 -
C語言程序的結構
C語言的運算符包含的範圍很廣泛,共有34種運算符。C語言把括號、賦值、強制類型轉換等都作爲運算符處理。下面是小編整理的關於C語言程序的結構,希望大家認真閱讀! (1)順序結構順序結構的程序設計是最簡單的,只要按照 -
C語言的四種程序結構
完成淨尺寸:1515cm,縫分0.7cm主要材料:棉布所需工具:手縫針 1手縫線 1剪刀 2空消筆 1大頭針 5白紙 1簽字筆 1製作步驟:第1步:第2步:第3步:第4步:第5步:第6步:第7步:第8步:第9步:第10步:第11步:第12步:第13步:第14步:第15步 -
C語言源程序的結構特點
C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。以下是小編蒐集的C語言源程序的結構特點,歡迎閱讀。 C源程序的結構特點爲了說明C語 -
C語言變量存儲佈局
C語言變量是怎麼儲存的大家瞭解嗎?下面一起去了解一下C語言變量存儲佈局是怎麼樣的吧,希望對大家有幫助!1.正文段():機器指令部分,是隻讀的,防止意外的修改;2.初始化數據段():保存程序中的全局變量且已被賦初值或在函數中被st -
C語言存儲類入門學習
C語言是一門通用計算機編程語言,應用廣泛。下面小編整理了C語言存儲類入門學習知識,希望對大家有幫助!存儲類定義 C 程序中變量/函數的範圍(可見性)和生命週期。這些說明符放置在它們所修飾的類型之前。下面列出 C 程序