// 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,然后老是错,最后终于找到错误的根源。

C++ 排序、查找的应用的更多相关文章

  1. Sublime文本排序&查找重复行&删除重复行

    排序 按F9或者选择菜单:Edit > Sort Lines,对每行文本进行排序 查找重复行 排序好后,按Ctrl+F,调出查找面板 查找字符串: ^(.+)$[\r\n](^\1$[\r\n] ...

  2. Java进阶(三十九)Java集合类的排序,查找,替换操作

    Java进阶(三十九)Java集合类的排序,查找,替换操作 前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组.获取到ArrayList对 ...

  3. 猪八戒吃西瓜(wmelon)-排序-查找

    问题 A: 猪八戒吃西瓜(wmelon) 时间限制: 1 Sec  内存限制: 64 MB提交: 30  解决: 14[提交][状态][讨论版] 题目描述 有一天,贪吃的猪八戒来到了一个大果园,果园里 ...

  4. C/C++ 排序&&查找算法(面试)

    一.排序 1.冒泡排序 void BubbleSort(int array[],int n) { ; ; ; ; ;i<n - ;i++) /*外循环控制排序的总趟数*/ { flag = ; ...

  5. javascript排序 查找算法大全

    在pptv的实习结束了, 忙着找工作的事,顺便把数据结构的那本书重新复习了一遍.为了加深印象,特意把里面的常用的排序.查找算法用js写了一遍 具体的实例在我的github上,大家可以访问的: http ...

  6. 深入JDK源码之Arrays类中的排序查找算法(转)

    原文出处: 陶邦仁 binarySearch()方法 二分法查找算法,算法思想:当数据量很大适宜采用该方法.采用二分法查找时,数据需是排好序的. 基本思想:假设数据是按升序排序的,对于给定值x,从序列 ...

  7. [Day7]循环、数组方法、排序查找

    1. ASCII(American Standard Code for Information Interchange) (1)数字0-9对应ASCII编码十进制为48-57, 字母a-z对应ASCI ...

  8. Java常用的排序查找算法

    public static void main(String[] args) {      // bubbleSort(); // int[] a = {20,2,10,8,12,17,4,25,11 ...

  9. python排序查找

    无序表查找 def seq_search(lst, key): found = False pos = 0 while pos < len(lst) and not found: if lst[ ...

  10. mysql 实现经纬度排序查找功能

    需求如下: 商品有多个门店,用户使用App时需要查找附近门店的商品,商品要进行去重分页. 思路: 1.确认mysql自带经纬度查询函数可以使用. 2.该需求需要利用分组排序,取每个商品最近门店的商品i ...

随机推荐

  1. Spring(四)Bean注入方试

    一.构造方法注入 定义:通过构造函数来完成依赖关系的设定 优缺点: 在构造对象的同时,完成依赖关系的建立 如果关联的对象很多,那和不得不在构造方法上加入过多的参数 基中有index:如果指定索引从0开 ...

  2. win7 64位安装oracle10g出现未知错误,程序异常终止解决方法

    修改Oracle 10G\database\stage\prereq\db\refhost.xml 在 </SYSTEM> <CERTIFIED_SYSTEMS>后面添加 &l ...

  3. 回文数 第N个回文数

    判断回文数还是不难,如果能转为字符串就更简单了. 如果是求第N个回文数呢. 12321是一个回文数,这里先考虑一半的情况. 回文数的个数其实是有规律的.如: 1位回文数: 9个 2位回文数: 9个 3 ...

  4. wait方法和sleep方法的区别

    一.概念.原理.区别 Java中的多线程是一种抢占式的机制而不是分时机制.线程主要有以下几种状态:可运行,运行,阻塞,死亡.抢占式机制指的是有多个线程处于可运行状态,但是只有一个线程在运行.      ...

  5. jQuery Validate 表单验证插件----通过name属性来关联字段来验证,改变默认的提示信息,将校验规则写到 js 代码中

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二. 添加一个另外一个插件jquery.validate.messages_cn.js. ...

  6. 设计模式C#实现(八)——原型模式

    原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.(要创建一个对象,这个对象为实现原型接口,方法是原型克隆.克隆只是方法而不是原型模式的目的,创建对象才是目的) UML类图: ...

  7. java加密算法--MD5加密和哈希散列带秘钥加密算法源码

    package com.ompa.common.utils; import java.security.MessageDigest; import java.security.NoSuchAlgori ...

  8. gdb调试常用命令

    gdb 调试常用命令 gcc -g mian.c -o main.out -o (定制生成的可执行文件的名称,缺省时为a.out) -g 使gdb可调试,在编译的时候,产生调试信息 gdb main. ...

  9. visual studio 2013 快捷键大全

    1.回到上一个光标位置/前进到下一个光标位置 1)回到上一个光标位置:使用组合键“Ctrl + -”: 2)前进到下一个光标位置:“Ctrl + Shift + - ”. 2.复制/剪切/删除整行代码 ...

  10. hdu 2048 神、上帝以及老天爷(错排)

    神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...