锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 浣滀負涓涓笓涓氱殑紼嬪簭鍛橈紝鎴戜滑闇瑕佸湪姣忎竴涓簮鏂囦歡涓仛涓浜涚増鏉冨0鏄庢х殑娉ㄩ噴銆傜幇鍦ㄦ牴鎹垜鎵瑙佸埌鐨勶紝鍜岃嚜宸辯殑鐞嗚В錛屽畾涔変竴浠藉睘浜庢垜鑷繁鐨勭増鏉冨0鏄庢枃妗f牸寮忋備笉瓚充箣澶勬棩鍚庣戶緇坊鍔犺ˉ鍏呫?/p> 紺轟緥
using namespace std;
int main()
{
char str[50] = {0};
char subStr[10] = {0};
//杈撳叆涓諱覆浠?緇撳熬
cout<<"input the string:";
for(int i = 0;i<sizeof(str)/sizeof(str[0]);i++)
{
cin>>str[i];
if(str[i] == '#')
{
str[i] = '\0';
break;
}
}
//杈撳叆瀛愪覆浠?緇撳熬
cout<<"input the substring:";
for(int i = 0;i<sizeof(subStr)/sizeof(subStr[0]);i++)
{
cin>>subStr[i];
if(subStr[i] == '#')
{
subStr[i] = '\0';
break;
}
}
//鐢ㄤ簬鏍囪鏄惁鎵懼埌瀛愪覆
bool isSub = true;
//鎵懼瓙涓?/span>
for(int i = 0;i<strlen(str);i++)
{
isSub = true;
for(int j = 0;j<strlen(subStr);j++)
{
if(subStr[j] == str[i+j]) continue;
else
{
isSub = false;
break;
}
}
if(isSub)
{//濡傛灉鎵懼埌瀛愪覆錛屽垯灝嗗悗緇瓧絎﹀叏閮ㄥ墠縐?/span>
for(int m = i;m<strlen(str)+1-strlen(subStr);m++)
{
str[m] = str[m+strlen(subStr)];
}
}
}
//杈撳嚭鍒犻櫎鍚庣殑
cout<<"the result string:"<<str<<endl;
system("pause");
return 1;
}
]]>
Subject: Bubble sort
Author: shexinwei
Date: 2010-09-28
Laguage: C++
IDE | Tool: GCC(DEV 5.0)
Version: 1.0
Modify Time: 2010-09-28
*/
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
//鎺掑簭鍑芥暟
int Bublle_sort(int data[],int n);
//鎵撳嵃鏁扮粍鍑芥暟
int print(int data[],int n);
int main(int argc, char *argv[])
{
int data[] = { 2,1,5,3,5,2,6,2};
int length = sizeof(data)/sizeof(data[0]);
cout<<"鍒濆搴忓垪:"<<endl;
print(data,length);
Bublle_sort(data,length);
cout<<"鏈緇堢粨鏋?"<<endl;
print(data,length);
cout<<endl;
system("pause");
return 1;
}
int Bublle_sort(int data[],int n)
{
int tmp = 0;
for(int i = 0;i < n;i++)
{
for(int j = 0;j < n-i-1;j++)
{
if(data[j]<data[j+1])
{
tmp = data[j];
data[j] = data[j+1];
data[j+1] = tmp;
}
else continue;
}
cout<<i+1<<"嬈℃帓搴忕粨鏋?"<<endl;
print(data,n);
cout<<endl;
}
return 1;
}
int print(int data[],int n)
{
for(int i = 0;i < n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;
}
璋冭瘯緇撴灉錛?br>
]]>/**//////////////////////////////////////////////////
2//榪呴浄絎旇瘯棰橈細
3//鏈塏涓ぇ灝忎笉絳夌殑鑷劧鏁幫紙1--N錛夛紝璇峰皢瀹冧滑鐢卞皬鍒板ぇ鎺掑簭銆?nbsp;
4//瑕佹眰紼嬪簭綆楁硶錛氭椂闂村鏉傚害涓篛(n)錛岀┖闂村鏉傚害涓篛(1)銆?/span>
5
6#define TEST_XUNLEI
7
8#ifdef TEST_XUNLEI
9
10#include <iostream>
11using namespace std;
12int sort(int data[],int n);
13int main()
14{
15 int data[] =
{8,7,9,4,6,5,3,2,1};
16 for(int i = 0 ;i < sizeof(data)/sizeof(int);i++)
17 cout<<data[i]<<" ";
18 cout<<endl;
19 sort(data,sizeof(data)/sizeof(int));
20 system("pause");
21 return 1;
22}
23int sort(int data[],int n)
24{
25 //淇濊瘉絀洪棿澶嶆潅搴︿負O(1)
26 int tmp = 0;
27 for(int i = 0;i < n;i++)
28
{
29 //縐誨姩錛岀洿鍒扮data[i]涓篿+1鐨勬椂,while緇撴潫寰幆銆傚悜鍚庣戶緇垽鏂?/span>
30 while(data[i] != i+1)
31
{
32 //姣忔寰幆淇濊瘉浜哾ata[i-1]鐨勬紜傛誨叡鏈塶涓墍浠ユ椂闂村鏉傚害涓篛(N)
33 tmp = data[data[i]-1];
34 data[data[i]-1] = data[i];
35 data[i] = tmp;
36 }
37 }
38 for(int i = 0;i < n;i++)
39 cout<<data[i]<<" ";
40 cout<<endl;
41 return 1;
42}
43
44
45#endif
璇ラ鐨勯噸鐐瑰湪浜庯紝N涓?--N鐨勬暟銆?
]]>#define RAND
#define RANK
#ifdef RAND
#include <iostream>
using namespace std;
#include <time.h>
enum
{MAX=10000};
int main()
{
ofstream out("rand.txt");
//杈撳嚭鎬繪暟
out<<MAX<<" ";
srand((unsigned int)time(NULL));
for(int i = 0;i < MAX;i++)
{
out<<rand()<<" ";
}
out.close();
cout<<"out over"<<endl;
return 1;
}
#endif
#ifdef RANK
#include <iostream>
using namespace std;
int main()
{
int max = 0;
ifstream in("rand.txt");
//鑾峰彇瑕佹帓搴忔暟鐨勪釜鏁?/span>
in>>max;
//鍒濆鍖栫粺璁℃暟緇?/span>
int *num = new int[RAND_MAX];
for (int i = 0;i < max;i++)
{
num[i] = 0;
}
int tmp = -1;
//璇誨彇鏁版嵁錛屽茍緇熻
for (i = 0;i < max;i++)
{
in>>tmp;
num[tmp] += 1;
}
//杈撳嚭
ofstream out("out.txt");
for (i = 0;i < max;i++)
{
if(num[i] != 0)
for (int j = 0;j < num[i];j++)
{ //濡傛灉鏈夊涓紝鍒欒緭鍑哄涓?/span>
out<<i<<" ";
}
}
out.close();
in.close();
return;
}
#endif
]]>/**//*
2Subject: the value of the each bit on int
3Author: shexinwei
4School: xidian university
5Date: 2010-09-13
6Laguage: C++
7IDE: visual studio 6.o
8Version: 1.0
9Modify Time: 2010-09-13
10*/
11#include <iostream>
12using namespace std;
13int main()
14{
15 int i = 0;
16 cout<<"please input the number:";
17 cin>>i;
18 char *result = new char[sizeof(int)*8];
19 int j = 1;
20 for (int k = 0;k<sizeof(int)*8;(j=j<<1),k++)
21 {
22 if ( (i&j) == 0 )
23 {
24 result[k] = '0';
25 }
26 else result[k] = '1';
27 }
28 for (int m = sizeof(int)*8-1;m >=0 ; m--)
29{
30 cout<<result[m];
31 }
32 cout<<endl;
33 delete []result;
34 return 1;
35}
]]>
3
4
5 /*
6
7 Subject: Quick sort
8
9 Author: shexinwei
10
11 School: xidian university
12
13 Date: 2010-09-12
14
15 Laguage: C++
16
17 IDE | Tool: GCC
18
19 Version: 1.0
20
21 Modify Time: 2010-09-12
22
23 */
24
25 #include <iostream>
26
27 using namespace std;
28
29 int sort(int begin,int end,int data[],int n);
30
31 int recurs(int begin,int end,int data[],int n);
32
33 int print(int data[],int n);
34
35 int main()
36
37 {
38
39 int data[] = {20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
40
41 //鎵撳嵃鍒濆搴忓垪
42
43 print(data,20);
44
45 //閫掑綊鎺掑簭
46
47 recurs(0,19,data,20);
48
49 //鎵撳嵃鏈緇堝簭鍒?nbsp;
50
51 print(data,20);
52
53 cout<<endl;
54
55 return 1;
56
57 }
58
59
60
61 //鎵撳嵃搴忓垪
62
63 int print(int data[],int n)
64
65 {
66
67 for(int i = 0;i<n;i++)
68
69 cout<<data[i]<<" ";
70
71 cout<<endl;
72
73 return 1;
74
75 }
76
77
78
79
80
81 int sort(int begin,int end,int data[],int n)
82
83 {
84
85 //閫夋嫨鏈鍚庝竴浣嶅仛鍒濆鐨勪腑鏋?/span>
86
87 int pos = end;
88
89 int key = data[end];
90
91 //绱㈠紩鍒濆鍖?/span>
92
93 int front = begin;
94
95 int last = end;
96
97 for(;front != last;front++)
98
99 { //鍚戝悗鏌ユ壘
100
101
102
103 if((data[front] < key) || (data[front] == key)) continue;
104
105 else
106
107 { //閬囧埌姣斾腑鏋㈠煎ぇ鐨勫厓绱狅紝浜ゆ崲浣嶇疆錛屼慨鏀筽os鐨勫鹼紝騫跺紑濮嬩粠鍚庡悜鍓嶆壘
108
109 data[pos] = data[front];
110
111 pos = front;
112
113 //浠ヤ笅涓鍙ュ彲娉ㄩ噴錛屽彧闇瑕佷繚瀛樹腑鏋㈢殑浣嶇疆錛屽彲浠ヤ笉淇敼鍊鹼紝鍥犱腑鏋㈠煎湪key涓繚瀛橈紝鏈鍚庢壘鍒版渶緇堜綅緗悗鍐嶈祴鍊煎嵆鍙?/span>
114
115 data[pos] = key;
116
117 //杈撳嚭鏀瑰彉涓嬈″悗鐨勫簭鍒?/span>
118
119 print(data,n);
120
121 for(;front != last;last--)
122
123 {//浠庡悗鍚戝墠鏌ユ壘
124
125 if((data[last] > key)||(data[last] == key)) continue;
126
127 else
128
129 { //閬囧埌姣斾腑鏋㈠煎皬鐨勫厓绱狅紝浜ゆ崲浣嶇疆錛屼慨鏀筽os鍊鹼紝騫墮噸鏂板紑濮嬩粠鍓嶅悜鍚庢煡鎵?/span>
130
131 data[pos] = data[last];
132
133 pos = last;
134
135 //浠ヤ笅涓鍙ュ彲娉ㄩ噴錛屽彧闇瑕佷繚瀛樹腑鏋㈢殑浣嶇疆錛屽彲浠ヤ笉淇敼鍊鹼紝鍥犱腑鏋㈠煎湪key涓繚瀛橈紝鏈鍚庢壘鍒版渶緇堜綅緗悗鍐嶈祴鍊煎嵆鍙?/span>
136
137 data[pos] = key;
138
139 //鎵撳嵃淇敼浠ュ悗鐨勫簭鍒?/span>
140
141 print(data,n);
142
143 //閲嶆柊寮濮嬩粠鍓嶅悜鍚庢煡鎵?/span>
144
145 break;
146
147 }
148
149 }
150
151
152
153 }
154
155 //濡傛灉浠庡悗鍚戝墠宸茬粡浣垮緱front==last錛岄偅涔堜竴瓚熷垎鍓插畬姣?/span>
156
157 if(front == last) break;
158
159 }
160
161 data[pos] = key;
162
163 return pos;
164
165 }
166
167 int recurs(int begin,int end,int data[],int n)
168
169 {
170
171 //閫掑綊鍑哄彛
172
173 if((begin == end) || (begin > end)) return 1;
174
175 else
176
177 {
178
179 //鍋氬垎鍓?/span>
180
181 int index = sort(begin,end,data,n);
182
183 //鍓嶄竴閮ㄥ垎閫掑綊
184
185 recurs(begin,index-1,data,n);
186
187 //鍚庝竴閮ㄥ垎閫掑綊
188
189 recurs(index+1,end,data,n);
190
191 }
192
193 }
]]>
]]>