C/C++_三大排序

来源:互联网 发布:ubuntu启动脚本编写 编辑:程序博客网 时间:2024/06/12 22:50
#include<iostream>using namespace std;int main(){int a[10] = { 5, 35, 68, 96, 9, 8, 12, 5,56,10};/*********************冒泡排序**********************/for (int i = 1; i <=9; i++){for (int j = 0; j < 10 - i; j++){if (a[j]>a[j + 1]){a[j] = a[j] ^ a[j + 1];a[j + 1] = a[j] ^ a[j + 1];a[j] = a[j] ^ a[j + 1];}}}for (int i = 0; i < 10; i++){cout << a[i] << " ";}cout << endl;/*********************选择排序**********************/for (int i = 0; i < 9; i++){for (int j = i + 1; j < 10; j++){if (a[i]<a[j]){a[i] = a[i] ^ a[j];a[j] = a[i] ^ a[j];a[i] = a[i] ^ a[j];}}}for (int i = 0; i < 10; i++){cout << a[i] << " ";}cout << endl;/*********************插入排序**********************/int i, j, key;for (i = 1; i < 10; i++){key = a[i];for (j = i; j>0 && a[j - 1]>key; j--){a[j] = a[j - 1];}a[j] = key;}for (int k = 0; k < 10; k++){cout << a[k] << " ";}cout << endl;/*********************字符串复制**********************/int k1 = 0;char s1[10] = { 'A', 'B', 'C', 'D'};char s2[10];while ((s2[k1] = s1[k1++]) != '\0');cout << s2 << endl;/*********************字符串连接**********************/int k2 = 0,k3=0;char s3[10] = { 'A', 'B', 'C', 'D'};char s4[10] = { 'O', 'P', 'Q'};while (s3[k3++] != '\0');k3 = k3 - 1;while ((s3[k3++] = s4[k2++]) != '\0');cout << s3 << endl;/*********************字符串比较**********************/int len1=0, len2=0,len,l;char s5[10] = { 'A', 'B', 'C', 'D','G' };char s6[10] = { 'A', 'B', 'D', 'D','G' };while (s5[len1++] != '\0');while (s6[len2++] != '\0');len1 = len1 - 1;len2 = len2 - 1;len1 > len2 ? len = len2 : len = len1;for (l = 0; l < len; l++){if (s5[l]>s6[l]){cout << "1" << endl;break;}else if(s5[l]<s6[l]){cout << "-1" << endl;break;}}if (l == len&&len1>len) cout << "1" << endl;if (l == len&&len2 > len) cout << "-1" << endl;if (l == len&&len1 == len&&len2 == len) cout << "0" << endl;/*********************字符串长度**********************/int len7 = 0;char s7[10] = { 'A', 'B', 'C', 'D' };while (s7[len7++] != '\0');cout << len7-1 << endl;/*********************字符串转化**********************///实现函数:atoiint len8 = 0, sum = 0,m=0;char s8[10] = { '0', '2','0', '3' };while (s8[len8++] != '\0');len8 = len8 - 1;while (len8--){sum = sum * 10 + s8[m++]-'0';}cout << sum << endl;//把数字转化成字符串。//实现函数:itoaint n, mm, kk = 0;char ss[100];cin >> n >> mm;while (n){int xx = n%mm;if (xx > 9){ss[kk] = (char)(xx + 55);}else{ss[kk] = xx+'0';}n /= mm;kk++;}ss[kk] = '\0';for (int i = strlen(ss)-1; i>=0; i--){cout <<ss[i];}cout << endl;return 0;}

0 0
原创粉丝点击