線性表基本操作

2021-07-16 01:28:25 字數 1723 閱讀 8116

線性表基本操作,暑假把大一的**練習一遍。多多指教,謝謝

#include

#include

#define true 1

#define false 0

#define ok 1

#define error 0

#define overflow -1

#define list_init_size 100

typedef structsqlist;

int initsqlist(sqlist &l)//初始化

int bulidsqlist (sqlist &l)

printf("請輸入%d個元素的值\n",n);

for(i=0;i"%d",l.base+i);

l.length = n;

return ok;

} void printsqlist(sqlist &l)//輸出元素以及表長

void tips()//提示函式

int deletesqlist(sqlist &l,int

x)//刪除值為x的元素

int deletesqlistindex(sqlist &l,int

x)//刪除指定位置的元素

void inverse(sqlist &l)//逆置函式

printf("逆置後的sqlist:\n");

for(i=0;ilength;i++)

printf("%d\n",*(l.base+i));

}void sortsqlist(sqlist &l)//冒泡

} printf("排序後的sqlist:\n");

for(i=0;ilength;i++)

printf("%d\n",*(l.base+i));

}int insersqlist(sqlist &l,int

x)//插入x(保持有序)

for(i=0;ilength;i++)

if(x

< *(l.base+i)) break;

tag = i;

for(i=l.length;i>tag;i--)

*(l.base+i) = *(l.base+i-1);

*(l.base+tag) = x;

l.length++;

printf("插入後的sqlist:\n");

for(i=0;ilength;i++)

printf("%d\n",*(l.base+i));

return ok;

}int mergersqlist(sqlist &l,sqlist &lb)//合併2個線性表

i = j = k = 0;

while(ilength && jlength)

else

}

while(ilength)

while(jlength)

lc.length = l.length + lb.length;

printf("合併後的sqlist:\n");

for(i=0;iprintf("%d\n",*(

lc.base+i));

return ok;

} int main()

tips();

scanf("%d",&operate);

}return

0; }

線性表基本操作

線性表的基本操作,靜態分配實現 include include using namespace std define maxsize 50 typedef int elemtpye 靜態分配 typedef structsqlist 動態分配 插入元素,i代表插入的位置,從0開始 bool list...

線性表基本操作

程式名稱 線性表 編譯環境 vc 6.0 作者相關 最後修改 2019.5.10 學習目標 1.如何建立線性表 2.掌握線性表的基本操作 初始化 判斷空表 獲取某位置元素 插入 刪除元素 清空表 合併 輸出 常見錯誤 1.if後有兩條或兩條以上語句時,要加括號 2.return的使用,用在不恰當的地...

線性表基本操作

今天開始重新複習資料庫,從基礎的開始 include define maxsize 20 typedef bool status typedef int elemtype typedef struct elemtype data maxsize int length sqlist 定義線性表的資料結...