📄 chaozhao.cpp
字号:
#include <stdio.h>
#include <iostream.h>
#include <malloc.h>
typedef struct
{
int *elem;
int length;
}SSTable;
int Search_Seq(SSTable S,int key)
{
int i;
S.elem[0]=key;
for (i=S.length;S.elem[i]!=key;--i)
S.elem[i]=key;
return i;
}//Search_Seq
int Search_Bin(SSTable STT, int k)
{ int low,high,mid;
low=1;
high=STT.length;
while (low<=high)
{
mid=(low+high)/2;
if (STT.elem[mid]==k)
return mid;
else if (STT.elem[mid]>k)
high=mid-1;
else low=mid+1;
}
return 0;
}//查找key的位置
void Create(SSTable ST,int n)
{
int i,j,a,b,Sq_key,p,Bin_key;
ST.elem=(int*)malloc(sizeof(int));
printf("请输入节点数n:");
scanf("%d",&n);
ST.length=n;
printf("请输入每个节点值");
for (i=1;i<=n;i++)
scanf("%d",&ST.elem[i]);
printf("请输入key的值:");
scanf("%d",&Sq_key);
b=Search_Seq(ST,Sq_key);
printf("输出Sq_key的值是:%d\n",Sq_key);
printf("输出Sq_key的位置是:%d\n",b);
printf("\n");
for (i=1;i<n;i++)
for (j=i+1;j<=n;j++)
if (ST.elem[i]>ST.elem[j])
{
p=ST.elem[i];
ST.elem[i]=ST.elem[j];
ST.elem[j]=p;
}//排序
printf("排序后的有序表:");
for (i=1;i<=n;i++)
printf("%d ",ST.elem[i]);
printf("\n");
printf("请输入key值:");
scanf("%d",&Bin_key);
a=Search_Bin(ST,Bin_key);
printf("输出Bin_key的值是: %d\n",Bin_key);
printf("输出Bin_key的位置是: %d\n",a);
}//创建有序表
void main()
{
SSTable G;
int m;
Create(G,m);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -