C++入门经典中的代码
答案:2 悬赏:70
解决时间 2021-02-19 07:26
- 提问者网友:西路不相离
- 2021-02-18 23:59
里面有讲过二分排序算法,请问他在第几章,或第几页..几年前大致看了一下,....现在想学习下.....找不到在哪了...
最佳答案
- 二级知识专家网友:而你却相形见绌
- 2021-02-19 00:12
我也不知道,但是可以给你二分排序的程序算法。
#include
using namespace std;
template
void QuickSort(Type a[],int p,int r)
{
if(p
{
int q=Partition(a,p,r);
QuickSort(a,p,q-1);//对左半段进行排序
QuickSort(a,q+1,r);//对右半段进行排序
}
}
template
int Partition(Type a[],int p,int r)
{
int i=p,j=r+1;
Type x=a[p];
//将
//将>x的元素交换到左边区域
while(true){
while(a[++i]
while(a[--j]>x);
if(i>=j)
break;
swap(a[i],a[j]);
}
a[p]=a[j];
a[j]=x;
return j;
}
int main()
{
int n;
char flag;
cout << "How many numbers you want to sort:";
cin >> n;
int *array=new int[n];
cout << "Input " << n << " numbers:";
for(int i=0;i
{
cin >> array[i];
}
QuickSort(array,0,n-1);
cout << "The new position is:" << endl;
for(int j=0;j
{
cout << array[j] << " ";
}
cout << endl;
cout << "Continue?(Y/N)" << endl;
cin >> flag;
if(toupper(flag)=='Y')
{
main();
return 1;
}
else
{
return 0;
}
}
#include
using namespace std;
template
void QuickSort(Type a[],int p,int r)
{
if(p
int q=Partition(a,p,r);
QuickSort(a,p,q-1);//对左半段进行排序
QuickSort(a,q+1,r);//对右半段进行排序
}
}
template
int Partition(Type a[],int p,int r)
{
int i=p,j=r+1;
Type x=a[p];
//将
while(true){
while(a[++i]
if(i>=j)
break;
swap(a[i],a[j]);
}
a[p]=a[j];
a[j]=x;
return j;
}
int main()
{
int n;
char flag;
cout << "How many numbers you want to sort:";
cin >> n;
int *array=new int[n];
cout << "Input " << n << " numbers:";
for(int i=0;i
cin >> array[i];
}
QuickSort(array,0,n-1);
cout << "The new position is:" << endl;
for(int j=0;j
cout << array[j] << " ";
}
cout << endl;
cout << "Continue?(Y/N)" << endl;
cin >> flag;
if(toupper(flag)=='Y')
{
main();
return 1;
}
else
{
return 0;
}
}
全部回答
- 1楼网友:樣嘚尐年
- 2021-02-19 00:53
计算机原理就是那个冯诺依曼原理:
美籍匈牙利科学家冯·诺依曼最新提出程序存储的思想,并成功将其运用在计算机的设计之中,根据这一原理制造的计算机被称为冯·诺依曼结构计算机,世界上第一台冯·诺依曼式计算机是1949年研制的edsac,由于他对现代计算机技术的突出贡献,因此冯·诺依曼又被称为“计算机之父”。 cui:冯诺依曼体系机构) 说到计算机的发展,就不能不提到德国科学家冯诺依曼。从20世纪初,物理学和电子学科学家们就在争论制造可以进行数值计算的机器应该采用什么样的结构。人们被十进制这个人类习惯的计数方法所困扰。所以,那时以研制模拟计算机的呼声更为响亮和有力。20世纪30年代中期,德国科学家冯诺依曼大胆的提出,抛弃十进制,采用二进制作为数字计算机的数制基础。同时,他还说预先编制计算程序,然后由计算机来按照人们事前制定的计算顺序来执行数值计算工作。 冯诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。 人们把冯诺依曼的这个理论称为冯诺依曼体系结构。从eniac到当前最先进的计算机都采用的是冯诺依曼体系结构。所以冯诺依曼是当之无愧的数字计算机之父。 根据冯诺依曼体系结构构成的计算机,必须具有如下功能: 把需要的程序和数据送至计算机中。 必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。 能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。 能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。 能够按照要求将处理结果输出给用户。 为了完成上述的功能,计算机必须具备五大基本组成部件,包括: 输人数据和程序的输入设备记忆程序和数据的存储器完成数据加工处理的运算器控制程序执行的控制器输出处理结果的输第二个问题,建议你去看一点汇编语言,这里详细说是不可能的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯