資料結構學習記錄 兩個陣列的合併

2021-06-05 06:51:03 字數 1692 閱讀 9135

標頭檔案的自己先定義,便於以後呼叫

定義為t11.h

#include"stdio.h"

#include"string.h"

#include"ctype.h"

#include"malloc.h"

#include"stdlib.h"  //atoi(),exit();

#include"io.h" 

//eof()

#include"math.h"

#define  true  1

#define  false  0

#define  ok 

1#define  error 0

typedef int status;

typedef int boolean;

基於資料型別 我定義的時結構體

struct sqlist1;

然後我想到定義乙個實現函式的檔案定義為cpp格式

void create(sqlist1 &l,char th)

printf("輸入這%d個數:\n",l.length);

for(int*i=l.elem;i<=l.elem+l.length-1;i++)

scanf("%d",i);

printf("這%d個數是:\n",l.length);

for(int j=0;j<=l.length-1;j++)

printf("%-4d",*(l.elem+j));

printf("\n");

}void print()

void paixu(sqlist1 &a,int p,int q,int r)  //  排序,進行一次排序,將乙個陣列分成兩部分

if(s == q)

else

for(int j=p-1;j

*(a.elem+j)=*(w.elem+j);

}void  wanpaixu(sqlist1 &a)

if(i+s

//  合併的中間值,比如合併完8個陣列,而陣列的長度為9個,

paixu(a,i+1,i+s,a.length);  //這是中間值是4,i+s表示將第8個陣列位置作為中間值}}

void merge(sqlist1 a,sqlist1 b,sqlist1 &c)

char ch;

getchar();

ch=getchar();

while('y' == ch || 'y' == ch)

else

*(c.elem+k++)=*(b.elem+j++);

} if(i == a.length) }

else }

printf("資料為(按降序排列):\n");

for(int s=0;s

printf("%-3d",*(c.elem+s));

printf("\n");

ch='n'; }

之後的主函式就方便呼叫了 定義主函式main_4

函式為:

#include"t11.h"

#include"t22.h"

#include"list.cpp"

void main()

這就是自己學資料結構的自己設計的第乙個程式,因為愛她,所以自己有很大的興趣,作為自己乙個好的開始吧!!!不停的學習,才會進步,才會優秀。。。。。 留住最真的。。。2012.3.3日寫。。~~~~~

資料結構學習記錄 指標與陣列

陣列一旦被定義,陣列元素將在記憶體中占用一塊連續的儲存單元,陣列名就是這塊連續記憶體單元的首位址。c語言規定 對於指標的算數運算,是以指標指向的資料型別所占用的記憶體單元數為單位1 一維陣列與指標 例如 int a 5 p,q p a 0 陣列a表示陣列元素a 0 的位址,那麼a 1代表元素a 1 ...

9 14資料結構學習記錄

include include includeusing namespace std int main sqstack sqstack st int initstack sqstack st 初始化棧 int empty sqstack st int push sqstack st,int x in...

資料結構學習記錄(一)

因為學資料結構比較頭大 我們學的是c資料結構,而我早已經把c忘光了 看書也有點難懂,所以去leetcode刷題了。今天開始刷題記錄 因為我實在是不想把這麼多東西存到電腦,那麼乾脆雲乙份吧 這些記錄都比較個人,是做給自己看的。給定乙個整數型別的陣列 nums,請編寫乙個能夠返回陣列 中心索引 的方法。...