#include
#include
using
namespace std;
#define maxdim 8
//定義最大維度為8維
typedef
class
arrays
*array,arry;
void
init_arry
(array &l)
;//初始陣列
void
creat_arry
(array &l,
int dim,..
.);//建立乙個陣列
void
destroy_arry
(array &l)
;// 銷毀陣列
intlocate_arry
(array &l,va_list ap,
int&e)
;//將ap裡面的元素所在的位置賦給 e
void
get_value
(int
&e,array &l,..
.);//將小標對應的值儲存在 e裡面
void
fu_value
(int e,array &l...
);//將e 賦給指定的元素
void
printlist
(array &l)
;//輸出這個四維矩陣
intmain()
printlist
(l);
int e;
int a[5]
; cout<<
"請輸入你想獲取的下標所對應的值"
>a[1]
>>a[2]
>>a[3]
>>a[4]
;get_value
(e,l,a[1]
,a[2
],a[3]
,a[4])
;if(e==-1
)else
cout<<
"請輸入乙個值"
>a[0]
; cout<<
"請輸入你想賦值給的下標的元素"
>a[1]
>>a[2]
>>a[3]
>>a[4]
;fu_value
(a[0
],l,a[1]
,a[2
],a[3]
,a[4])
; cout
(l);
destroy_arry
(l);
printlist
(l);
}void
init_arry
(array &l)
//初始陣列
void
creat_arry
(array &l,
int dim,..
.)//建立乙個陣列
l=new arry;
if(dim>maxdim)
else
va_end
(lists)
; l-
>constants=
newint
[dim]
; l-
>constants[dim-1]
=1;for
(int i=dim-
2;i>=
0;i--
) l-
>base=
newint
[number]
;//儲存多維陣列其實就是儲存一位陣列}}
void
destroy_arry
(array &l)
// 銷毀陣列
else
}int
locate_arry
(array &l,va_list ap,
int&e)
//將ap裡面的元素所在的位置賦給 e
int position=0;
int temp;
for(
int i=
0;i>dim;i++
) position+
=temp*l-
>constants[i];}
e=position;
return position;
}void
get_value
(int
&e,array &l,..
.)//將小標對應的值儲存在 e裡面
else
else}}
void
fu_value
(int e,array &l...
)//將e 賦給指定的元素
else
else}}
void
printlist
(array &l)
int a1,a2,a3,a4;
int counts=0;
for(a1=
0;a1>bounds[0]
;a1++)}
}}}}
表的陣列實現
將乙個表儲存到計算機中,可以採用許多不同的方法,其中既簡單又自然的是順序儲存方法,即將表中的元素逐個存放於陣列的一些連續的儲存單元中。在這種表示方式下,容易實現對錶的遍歷。要在表的尾部插入乙個新元素,也很容易。但是要在表的中間位置插入乙個新元素,就必須先將其後面的所有元素都後移乙個單元,才能騰出新元...
動態陣列的實現
靜態陣列 編譯階段確定陣列的大小,執行階段不能改變陣列大小。缺點是事先無法準確確定陣列的大小,太小不滿足處理需要,太大浪費記憶體空間。動態陣列 執行階段,根據實際需要動態確定陣列的大小。在 c 語言中,可利用記憶體的申請和釋放庫函式,c語言培訓班 以及指向陣列的指標變數可當陣列名使用的特點,來實現動...
陣列實現的佇列
myqueue.h 說明 ntai的下乙個位置就是nhead的話,表示隊滿了,犧牲乙個空間 ntail nhead,表示隊為空 入隊的時候要判斷隊是否為滿,出隊的時候,要判斷是否為空。define size 1000 陣列大小 class cmyqueue myqueue.cpp include s...