Tauruser
Enjoy Every Day
posts - 34, comments - 95, trackbacks - 0, articles - 5
C++博客
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
算法與數據結構實驗(一)
Posted on 2006-03-04 13:14
Tauruser
閱讀(503)
評論(0)
編輯
收藏
引用
所屬分類:
算法與數據結構
題目:
1、試編寫在數組中插入一個元素和刪除一個元素的函數,并調用此函數作一個整型數組的插入和刪除,要求整形數組開始含有10個元素,插入的位置可在任意兩個數組元素之間、第一個元素前和最后一個元素后,刪除任意指定位置的元素,并將各元素的位置及相應的元素值打印出來。
正如《
我的算法與數據結構學習(二)
》中談到,在順序存儲中,插入與刪除操作的實現其關鍵在于對順序存儲空間的管理。作為順序存儲,較為典型的是在數組中進行。當進行插入和刪除操作時,都要涉及到各個數組元素的移位,移位的順序是關鍵的,一不小心搞錯了移位的順序就可能導致數組元素內容的丟失。
1
#include
<
iostream
>
2
using
namespace
std;
3
int
a[
20
];
4
int
count;
5
int
choice;
6
bool
Exit(
0
);
7
void
insert(
int
*
line);
8
void
del(
int
*
line);
9
void
display(
int
*
line);
10
11
12
int
_tmain(
int
argc, _TCHAR
*
argv[])
13
{
14
for
(
int
i(
0
);i
<
10
;i
++
)
15
a[i]
=
i;
16
count
=
10
;
17
while
(
!
Exit)
18
{
19
cout
<<
"
1.insert a num
"
<<
endl;
20
cout
<<
"
2.delete a num
"
<<
endl;
21
cout
<<
"
3.dispaly the list
"
<<
endl;
22
cout
<<
"
0.exit
"
<<
endl;
23
cout
<<
"
please input your choice:
"
;
24
cin
>>
choice;
25
if
(choice
==
1
)
26
{
27
insert(a);
28
}
29
else
if
(choice
==
2
)
30
{
31
del(a);
32
}
33
else
if
(choice
==
3
)
34
{
35
display(a);
36
}
37
else
if
(choice
==
0
)
38
{
39
Exit
=
true
;
40
}
41
}
42
cout
<<
"
Power by Tauruser
"
;
43
return
0
;
44
45
}
46
47
void
insert(
int
*
line)
48
{
49
int
loc,num;
50
cout
<<
"
where you would like to insert:
"
;
51
cin
>>
loc;
52
if
(loc
<
1
||
loc
>
count
+
1
)
53
{
54
cout
<<
"
data overflow
"
;
55
return
;
56
}
57
cout
<<
"
what num you would like to insert:
"
;
58
cin
>>
num;
59
for
(
int
i
=
count;i
>
loc
-
1
;i
--
)
60
{
61
line[i]
=
line[i
-
1
];
62
}
63
count
++
;
64
line[loc
-
1
]
=
num;
65
}
66
67
void
del(
int
*
line)
68
{
69
int
loc;
70
cout
<<
"
which num you would like to delete:
"
;
71
cin
>>
loc;
72
if
(loc
<
1
||
loc
>
count)
73
{
74
cout
<<
"
data overflow
"
;
75
return
;
76
}
77
for
(
int
i
=
loc
-
1
;i
<
count
-
1
;i
++
)
78
{
79
line[i]
=
line[i
+
1
];
80
}
81
count
--
;
82
}
83
84
void
display(
int
*
line)
85
{
86
for
(
int
i(
0
);i
<
count;i
++
)
87
{
88
cout
<<
"
No.
"
<<
i
+
1
<<
"
num is
"
<<
line[i]
<<
endl;
89
}
90
}
91
從insert()與del()兩個函數來看,在數組里進行移位的順序剛才相反。插入從后到前,刪除從前到后。這樣的順序確保了,元素值不會給覆蓋丟失。其實如果再提供一個temp的變量,也可以實現移動順序的改變。但就要再引入一個變量了。
PS:另外說一點,有同學問我為什么在VS.net平臺里老是沒有辦法#include <iostream.h>。我想可能VS.net已經在C++中放棄支持這個了。可以換成
#include
<
iostream
>
using
namespace
std;
使用ISO C++的庫就行了。不知道我的見解是否正確。
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
雙鏈表模版類的實現
C風格字符串與標準庫string類型性能對比
算法與數據結構實驗(二)
為什么在VS2005重載輸出運算符那么難?
我的算法與數據結構學習(三)
Josephus問題
算法與數據結構實驗(一)
我的算法與數據結構學習(二)
我的算法與數據結構學習(一)
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © Tauruser
日歷
<
2006年3月
>
日
一
二
三
四
五
六
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
公告
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(7)
給我留言
查看公開留言
查看私人留言
隨筆分類
(16)
MFC(2)
計算機圖形學(2)
密碼學
數學模型
數值計算(2)
算法與數據結構(9)
信息論(1)
隨筆檔案
(34)
2007年3月 (1)
2007年2月 (2)
2007年1月 (1)
2006年10月 (1)
2006年6月 (3)
2006年5月 (5)
2006年4月 (6)
2006年3月 (14)
2006年2月 (1)
文章分類
(5)
密碼學
數學模型
數值計算
算法與數據結構(4)
網絡(1)
信息論
文章檔案
(5)
2006年4月 (1)
2006年3月 (4)
相冊
文章貼圖
收藏夾
(3)
我的收藏(3)
協議
流媒體
中國協議網
友情鏈接
Orlaa
最新隨筆
1.?CListCtrl For Beginners(轉載)
2.?結構體對齊的具體含義(#pragma pack) (轉載)
3.?MFC ComboBox 使用方法(轉載)
4.?05年寫的直線裁剪算法
5.?C# Coding時的注釋格式(zz)
6.?查找字符串的哈希方法(zz)
7.?木馬客戶端與服務端通訊如何隱藏不被發現
8.?Gauss消去法直接求解方程組(附例程)
9.?使用AsycnSocket類進行簡單雙機通訊
10.?Romberg求積(例程)
搜索
積分與排名
積分 - 106816
排名 - 238
最新評論
1.?re: 雙鏈表模版類的實現
問下:關于查找(search)那部分,我有點小問題要問,就是你直接就靠默認的比較操作符來比較,而你所用的是模版,鏈表支持各種類型,那么是字符串類型的鏈表或自定義類型的呢,你該怎么辦
--周曉榮
2.?re: OnSize()加入處理函數后,DEBUG報告出錯
評論內容較長,點擊標題查看
--NULL
3.?re: C風格字符串與標準庫string類型性能對比
評論內容較長,點擊標題查看
--Hzj_jie
4.?re: 05年寫的直線裁剪算法
你這個算法也太復雜了吧
--啊啊啊啊啊啊
5.?re: C++ Primer Fourth Edition (download file)
i want english edition
--zhccc
閱讀排行榜
1.?MFC ComboBox 使用方法(轉載)(18758)
2.?結構體對齊的具體含義(#pragma pack) (轉載)(11473)
3.?Tab Control控件使用的例子(zz)(8374)
4.?MAC地址有合法不合法之分嗎?(7627)
5.?VC++2005 比 VC++ 6.0 退步了?(7557)
評論排行榜
1.?C風格字符串與標準庫string類型性能對比(20)
2.?VC++2005 比 VC++ 6.0 退步了?(12)
3.?OnSize()加入處理函數后,DEBUG報告出錯(8)
4.?為什么在VS2005重載輸出運算符那么難?(7)
5.?Gauss消去法直接求解方程組(附例程)(7)
91精品国产91久久久久福利
|
理论片午午伦夜理片久久
|
亚洲国产精品无码久久久秋霞2
|
久久久久人妻一区精品
|
国产精品乱码久久久久久软件
|
狠狠色丁香久久婷婷综合蜜芽五月
|
人人狠狠综合88综合久久
|
少妇高潮惨叫久久久久久
|
国产99久久久久久免费看
|
色欲久久久天天天综合网
|
久久九九免费高清视频
|
久久精品水蜜桃av综合天堂
|
久久久久久极精品久久久
|
久久91综合国产91久久精品
|
久久丝袜精品中文字幕
|
九九久久99综合一区二区
|
久久精品国产亚洲AV蜜臀色欲
|
色婷婷综合久久久久中文
|
久久久艹
|
狠狠精品久久久无码中文字幕
|
久久精品国产亚洲AV蜜臀色欲
|
精品久久久久久国产三级
|
狠狠88综合久久久久综合网
|
久久伊人亚洲AV无码网站
|
国产精品久久毛片完整版
|
免费久久人人爽人人爽av
|
欧美一级久久久久久久大片
|
久久国产精品久久精品国产
|
久久亚洲AV成人无码电影
|
欧洲人妻丰满av无码久久不卡
|
久久久久久国产精品美女
|
91精品国产91热久久久久福利
|
国产成人无码久久久精品一
|
久久人人爽人人爽人人AV东京热
|
亚洲人成无码网站久久99热国产
|
国产精久久一区二区三区
|
久久精品成人免费观看97
|
精品久久人人爽天天玩人人妻
|
国产精品美女久久久网AV
|
九九久久精品无码专区
|
久久久WWW免费人成精品
|