最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

1

2023-09-06 16:24 作者:口袋袋errrrrrrrrr  | 我要投稿

/*

源文件名:P1.cpp

功能:順序表操作

*/

#include <conio.h>

#include <stdio.h>

#include <string.h>

#include <math.h>

#include <stdlib.h>

#include <iostream>


#define max 10000


struct SqList

{

int data[max];? ? ? ? ?//存放元素的數(shù)組

int length;? ? ? ? ? ? //當(dāng)前長度

};


void init(SqList &list);

void display(SqList &list);

void insert(SqList &list,int,int);

void search(SqList &list,int);

void del(SqList &list,int);

void simpleSort(SqList &list);

void binarySearch(SqList &list,int);

void nzlist(SqList &list);


SqList list;


int main()

{

char choice;

int key;


while (1)

{

system("cls");

printf("? ? ?學(xué)號: ****? ? ?姓名:***? ? ? ? ? ? \n ");?

printf("\n\n\n\n");? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

printf("\t\t? ? ? ? ? ? ?順序表操作? \n");

printf("\t\t======================================");

printf("\n\n");

printf("\t\t? ? ? ? ? ? ?1:初始化? ? ? ?\n");

printf("\t\t? ? ? ? ? ? ?2:顯示? ? ? ? ?\n");

printf("\t\t? ? ? ? ? ? ?3:單個插入? ? ?\n");

printf("\t\t? ? ? ? ? ? ?4:查找? ? ? ? ?\n");

printf("\t\t? ? ? ? ? ? ?5:刪除? ? ? ? ?\n");

printf("\t\t? ? ? ? ? ? ?6:簡單選擇排序 \n");

printf("\t\t? ? ? ? ? ? ?7:折半查找? ? ?\n");

printf("\t\t? ? ? ? ? ? ?8:逆置線性表? ?\n");

printf("\n");

printf("\t\t? ? ? ? ? ? ?0:退出? ? ? ? ?\n");

printf("\n");

printf("\t\t請選擇:");


choice = getch();

system("cls");

switch(choice)

{

case '1':

void init(SqList &list);

break;

case '2':

void display(SqList &list);

break;

case '3':

int wz; //在wz出插入key

void insert(SqList &list,int,int);

break;

case '4':

printf("輸入你要查找到值(數(shù)字)\n" );

? ? ? ? ? ? scanf("%d",&key);

void search(SqList &list,int);

break;

case '5':

printf("輸入你要刪除的值(數(shù)字)\n" );

? ? ? ? ? ? scanf("%d",&key);

void del(SqList &list,int);

break;

case '6':

void simpleSort(SqList &list);

break;

case '7':

? ? ? ? ? ? ? ? printf("輸入你要二分查找的值(數(shù)字)\n" );

? ? ? ? ? ? scanf("%d",&key);

? ? void binarySearch(SqList &list,int);

break;

case '8':

? ? ? ? ? ? ? ? void nzlist(SqList &list);

break;

case '0':

exit(0);

}

}

return 0;

}




//屏幕提示后,從鍵盤輸入線性表長度和隨機(jī)數(shù)種子,生成指定長度的線性表list

void init(SqList &list)

{

int i;

while (1)

{

printf("輸入元素個數(shù)(0 - %d ):\n",max);

scanf("%d",&list.length);

if (list.length >= 0 && list.length <= max)

break;

printf("\n");

}

while (1)

{ ? ??

printf("輸入隨機(jī)數(shù)種子(0-32767):\n");

scanf("%d",&i);

if (i >= 0 && i <= 32767)

break;

printf("\n");

}

srand(i);? //指定隨機(jī)數(shù)種子,相同的種子將產(chǎn)生相同的數(shù)據(jù)序列

rand();


for (i = 0; i < list.length; i++)

{

list.data[i] = rand() % 10000;

}

for (i = list.length; i < max; i++)

list.data[i] = 0;

}


// 注意:部分算法的函數(shù)定義如下,其他需自行不全?


//1.在屏幕上依次顯示線性表list中的元素個數(shù)和全部元素

void display(SqList &list)

{int i;

for(i=0;i<list.length;i++)

{printf("[%5d]= %6d\n",(i+1),list.data[i]);}

puts("press 1 to continue");

? ?while(scanf("%d",&i )!=1);

}


//2.屏幕提示后,從鍵盤輸入需要插入的位置wz和元素值key

void insert(SqList &list,int wz,int key)

{

SqList *L;

printf("輸入要插入元素的位置:\n");

scanf("%d",&wz);

printf("輸入要插入的數(shù)據(jù)元素的值:\n");

scanf("%d",&key);

if(wz<1||wz>L->length+1){

printf("輸入的位置不在范圍內(nèi)!\n");

}

wz--;

int j;

for (j=L->length;j>wz;j--)

? ? list.data[j]=list.data[j-1];

list.data[wz]=key;

L->length++;

? ? puts("press 1 to continue");

? ? while(scanf("%d",&wz )!=1);

??

}


//3.屏幕提示后,在線性表list中搜索這個元素key,若存在該元素,則給出位置信息,

//? 否則,顯示“不存在此數(shù)!”

//屏幕顯示搜索結(jié)果和搜索過程中的比較次數(shù)

void search(SqList &list,int key)

{?

int i;

int flag=0;

for(i=0;i<list.length;i++){

if(list.data[i]==key)break;

flag++;

}

if( (i==list.length)&&(list.data[i]!=key)) printf("不存在此數(shù)!\n" );

else printf("[%5d]= %6d\n",(i+1),list.data[i]);

printf("查找次數(shù):%d\n",flag );

puts("press 1 to continue");

while(scanf("%d",&i )!=1);

}

//4.屏幕提示后,在線性表list中刪除這個元素key,并顯示相關(guān)信息

//屏幕顯示刪除成功與否的信息,并顯示比較次數(shù)和移動次數(shù)

void del(SqList &list,int key)

{

?int i;

? ? ?int flag=0;

for(i=0;i<list.length;i++){

if(list.data[i]==key)break;

flag++;

}

if( (i==list.length)&&(list.data[i]!=key)) printf("不存在此數(shù)!\n" );//查找?

else {

printf("[%5d]= %6d\n",(i+1),list.data[i]);

for(i=0;(i+1)<list.length;i++){

list.data[i]=list.data[i+1];

}

list.length--;

printf("刪除成功!\n" );

}

puts("press 1 to continue");

while(scanf("%d",&i )!=1);

}

//5.編程實現(xiàn)一個順序表的就地逆置,即利用原表的存儲空間將順序表逆置。

void nzlist(SqList &list)

{

? int i;

for(i=0;i<list.length/2;i++){

list.data[i] += list.data[list.length-i-1];//i是總和

list.data[list.length-i-1] = list.data[i]-list.data[list.length-i-1];//尾部變成原來的i

list.data[i] -= list.data[list.length-i-1];//頭部變成原來的list.data[list.length-i-1]

}

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

? ? printf("就地逆置完成!? ");

}



//其他函數(shù)實現(xiàn),請自行補(bǔ)充?

//6.簡單選擇排序?

void simpleSort(SqList &list)

{

int i,j,times=0,swaps=0,t;

printf("排序如下:\n" );

for(i=0;i<list.length;i++)

? {for(j=i;j<list.length;j++){

? ? times++;

? ? if(list.data[i]>list.data[j]){

? ? ? swaps++;

? t=list.data[i];

? ? ? list.data[i]=list.data[j];

? ? ? list.data[j]=t;

? ? }

? }}

?

? printf("比較次數(shù):%d\n移動次數(shù):%d",times,swaps );

? puts("press 1 to continue");

? while(scanf("%d",&i )!=1);

?}?

?//7.折半查找?

?void binarySearch(SqList &list,int key)

?{

? int times=0;

? int mid,low=0,high=list.length-1;

?

? ? while(low<=high){

? ? times++;

? ? ? if(list.data[low]==key){

? ? ? ? printf("[%d]%d,查找次數(shù)為:%d",low,list.data[low],times );

? ? ? ? break;}

? ? ? if(list.data[high]==key){

? ? ? ? printf("[%d]%d,查找次數(shù)為:%d",high,list.data[high],times );

? ? ? ? break;

? ? ? }

? ? mid=(low+high)/2;

? ? if(list.data[mid]==key){

? ? ? printf("[%d]%d,查找次數(shù)為:%d",mid,list.data[mid],times );

? ? ? break;

? ? }

? ? if(list.data[mid]>key)high=mid-1;

? ? if(list.data[mid]<key)low=mid+1;

? ? }

? ? if(low>high)printf("沒有找到,查找次數(shù)為:%d\n",times );

int i;

? ? puts("press 1 to continue");

while(scanf("%d",&i )!=1);

}


1的評論 (共 條)

分享到微博請遵守國家法律
英山县| 临猗县| 疏附县| 炎陵县| 新绛县| 得荣县| 沙洋县| 景宁| 常山县| 衡南县| 常州市| 翁源县| 睢宁县| 年辖:市辖区| 漯河市| 望谟县| 巩留县| 道孚县| 兴和县| 延安市| 桦南县| 云龙县| 北辰区| 米易县| 平原县| 台前县| 齐河县| 德兴市| 江永县| 河池市| 安徽省| 青海省| 曲靖市| 荆州市| 尤溪县| 新宁县| 女性| 南郑县| 开化县| 师宗县| 胶南市|