C++ 排序、查找的应用

时间:2024-01-10 15:40:44
 // order.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include "string.h"
#include <iostream> #define length 26
using namespace std;
/*********选择排序*********/
void order(char *a,int n)
{
int i = ,j = ;
char temp;
for(i = ; i < n; i++)
for(j = i+; j < n; j++)
{
if(a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
} }
}
/**********查找函数*************/
void seek(char *a,int n ,char c)
{
int i = ,flag = ;
for(i = ; i < n; i++)
{
if(a[i] == c)
{
flag = ;
}
}
if(flag == )
{
cout << "找到所要找的字母"<< endl;
}
else
cout << "没有找到所要找的字母" << endl;
} int main()
{
char a[length];
char find;
int b;
cout << "请输入"<< length <<"个字母" <<endl;
for(int i = ;i < length; i++)
{
cin >> a[i];
} for(int j = ;j < length; j++)
{
cout << a[j]<<" ";
}
cout << endl; order(a,length);
cout <<"输出有序数组:"<<endl;
for(int j = ;j < length; j++)
cout << a[j]<<" ";
cout << endl; cout << "请输入需要查找的字母" <<endl;
cin >> find;
cout << endl; seek(a,length,find);
cin >> b;
return ;
}

实验名称:排序、查找的应用

实验目的:学会如何应用排序算法和查找算法实现排序、查找。

实验要求:先从键盘上输入26个字母生成无序数组,对数组进行排序,再从键盘输入一个字符进行查找。

实验步骤及内容

1、从键盘输入26个字母并输出。

cout << "请输入"<< length <<"个字母" <<endl;

for(int i = 0;i < length; i++)

{

cin >> a[i];

}

for(int j = 0;j < length; j++)

{

cout << a[j]<<"  ";

}

cout << endl;

2、  对字符数组进行排序。这里用了选择排序来对数组进行排序。

void order(char *a,int n)

{

int i = 0,j = 0;

char temp;

for(i = 0; i < n; i++)

for(j = i+1; j < n; j++)

{

if(a[i] > a[j])

{

temp = a[i];

a[i] = a[j];

a[j] = temp;

}

}

}

3、  查找函数,若找到则提示已经找到,否则提示没有找到。

void seek(char *a,int n ,char c)

{

int i = 0,flag = 0;

for(i = 0; i < n; i++)

{

if(a[i] == c)

{

flag = 1;

}

}

if(flag == 1)

{

cout << "找到所要找的字母"<< endl;

}

else

cout << "没有找到所要找的字母" << endl;

}

实验总结:

在弄选择排序的时候,把j = i + 1,写成了j = i,然后老是错,最后终于找到错误的根源。