指针和数组专项练习
#include <iostream>#include <ctime>#define M 10using namespace std;void printArray(int *p, int len){cout<< "[";for (int i = 0; i < len; i++) {if (i == len - 1)cout<< *(p+i)&
·
#include <iostream>
#include <ctime>
#define M 10
using namespace std;
void printArray(int *p, int len){
cout<< "[";
for (int i = 0; i < len; i++) {
if (i == len - 1)
cout<< *(p+i)<< "]" <<endl;
else
cout<< *(p+i)<< ", ";
}
}
void generateArray(int *arr, int min, int max, int n){
srand((unsigned int) time(NULL));
for (int i = 0; i < n; i++) {
int num = rand() % (max-min+1)+ min;
arr[i] = num;
}
}
void bubbleSort(int *p, int len){
for (int i = 0; i < len; i++) {
for (int j = len - 1; j - 1 >= 0; j--) {
// if (p[j - 1] > p[j]){
// int temp = p[j - 1];
// p[j - 1] = p[j];
// p[j] = temp;
// }
if (*(p+j-1) >*(p+j)){
int temp = *(p+j);
*(p+j) = *(p+j-1);
*(p+j-1) = temp;
}
}
}
}
/**
void selectSort(int *arr, int len){
for (int i = 0; i < len; i++) {
int minIndex = i;
for (int j = i; j < len; j++) {
if (arr[minIndex] > arr[j])
minIndex = j;
}
if (minIndex != i){
int temp = arr[i];
arr[i]= arr[minIndex];
arr[minIndex] = temp;
}
}
}
*/
void selectSort(int *p,int len){
// int *i, *j, *min, temp;
// for (i = p; i < p+len-1; i++) {
// min = i;
// for (j = i + 1; j < p+len; j++) {
// if (*(j) < *(min))
// min = j;
// }
// // 交换
// if (min!=i){
// temp = *i;
// *i = *min;
// *min=temp;
// }
// }
for (int i = 0; i < len; ++i) {
int minIndex = i;
for (int j = i; j < len; ++j) {
if (*(p+minIndex) > *(p+j)){
minIndex = j;
// cout<< "minindex = "<< minIndex <<endl;
}
}
int temp = *(p+minIndex);
*(p+minIndex) = *(p+i);
*(p+i) = temp;
// cout<< "=========" <<endl;
}
}
void insertSort(int *p, int len){
// for (int i = 1; i < len; ++i) {
// for (int j = i; j > 0; --j) {
// if (arr[j-1] > arr[j]){
// int temp = arr[j-1];
// arr[j-1] = arr[j];
// arr[j] = temp;
// }else{
// break;
// }
// }
// }
int *i,*j,temp;
for ( i = p + 1; i < p+len; ++i) {
for ( j = i; j > p; --j) {
if (*(j)<*(j-1)) {
temp = *(j);
*(j) = *(j - 1);
*(j - 1) = temp;
}else{
break;
}
}
}
}
int main (){
int arr[M];
generateArray(arr, 20, 100, M);
printArray(arr, M);
// bubbleSort(arr, M);
// selectSort(arr, M);
insertSort(arr, M);
printArray(arr, M);
return 0;
}
更多推荐
已为社区贡献4条内容
所有评论(0)